{ "_class" : "hudson.tasks.junit.TestResult", "testActions" : [ ], "duration" : 2125.476, "empty" : False, "failCount" : 110, "passCount" : 35, "skipCount" : 5, "suites" : [ { "cases" : [ { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.contextTests.TestDefaultSettings", "duration" : 0.002, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testTrue", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None } ], "duration" : 0.036, "enclosingBlockNames" : [ ], "enclosingBlocks" : [ ], "id" : None, "name" : "org.dataone.integration.contextTests.TestDefaultSettings", "nodeId" : None, "stderr" : None, "stdout" : None, "timestamp" : None }, { "cases" : [ { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 0.001, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testSidIsAuthorized", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 19.355, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testIsAuthorized", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 71.429, "errorDetails" : "org.dataone.client.exception.ClientSideException: Unable to create test object!/Access allowed only for subjects with Create/Update/Delete permission. active_subjects=\"CN=testPerson,DC=dataone,DC=org (primary), CN=testGroup,DC=dataone,DC=org, CN=testEQPerson1,DC=dataone,DC=org, CN=testEQPerson2,DC=dataone,DC=org, authenticatedUser, CN=someLegacyAcct,DC=somewhere,DC=org, verifiedUser, CN=testEQPerson3,DC=dataone,DC=org, public\" [for host https://pangaea-dev-orc-1.test.dataone.org/mn ]", "errorStackTrace" : "java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Access allowed only for subjects with Create/Update/Delete permission. active_subjects=\"CN=testPerson,DC=dataone,DC=org (primary), CN=testGroup,DC=dataone,DC=org, CN=testEQPerson1,DC=dataone,DC=org, CN=testEQPerson2,DC=dataone,DC=org, authenticatedUser, CN=someLegacyAcct,DC=somewhere,DC=org, verifiedUser, CN=testEQPerson3,DC=dataone,DC=org, public\" [for host https://pangaea-dev-orc-1.test.dataone.org/mn ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_NullPolicy_testPerson_is_RightsHolder(AbstractAuthorizationTestImplementations.java:346)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testIsAuthorized_NullPolicy_testPerson_is_RightsHolder", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 47.427, "errorDetails" : "org.dataone.client.exception.ClientSideException: Unable to create test object!/Access allowed only for subjects with Create/Update/Delete permission. active_subjects=\"CN=testPerson,DC=dataone,DC=org (primary), CN=testGroup,DC=dataone,DC=org, CN=testEQPerson1,DC=dataone,DC=org, CN=testEQPerson2,DC=dataone,DC=org, authenticatedUser, CN=someLegacyAcct,DC=somewhere,DC=org, verifiedUser, CN=testEQPerson3,DC=dataone,DC=org, public\" [for host https://pangaea-dev-orc-1.test.dataone.org/mn ]", "errorStackTrace" : "java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Access allowed only for subjects with Create/Update/Delete permission. active_subjects=\"CN=testPerson,DC=dataone,DC=org (primary), CN=testGroup,DC=dataone,DC=org, CN=testEQPerson1,DC=dataone,DC=org, CN=testEQPerson2,DC=dataone,DC=org, authenticatedUser, CN=someLegacyAcct,DC=somewhere,DC=org, verifiedUser, CN=testEQPerson3,DC=dataone,DC=org, public\" [for host https://pangaea-dev-orc-1.test.dataone.org/mn ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_NullPolicy_testGroup_is_RightsHolder(AbstractAuthorizationTestImplementations.java:495)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testIsAuthorized_NullPolicy_testGroup_is_RightsHolder", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 87.704, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:13:36 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'TierTesting:pangaea-dev-orc-1:Public_READ.15',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:Public_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'TierTesting:pangaea-dev-orc-1:Public_READ.15',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/TierTesting:pangaea-dev-orc-1:Public_READ.15 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15' PATH_TRANSLATED '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '42959' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868816556392' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868816556074' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868816555682' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868816556474' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad2a6f0> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5401145b30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:13:36 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'TierTesting:pangaea-dev-orc-1:Public_READ.15',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:Public_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'TierTesting:pangaea-dev-orc-1:Public_READ.15',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '42959'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868816556392'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868816556074'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868816555682'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868816556474'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad2a6f0>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5401145b30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_Public_can_Read(AbstractAuthorizationTestImplementations.java:628)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testIsAuthorized_AccessPolicy_is_Public_can_Read", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 85.561, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:15:02 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'TierTesting:pangaea-dev-orc-1:Authenticated_READ.15',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:Authenticated_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'TierTesting:pangaea-dev-orc-1:Authenticated_READ.15',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15' PATH_TRANSLATED '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '43112' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868902113743' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868902113494' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868902113114' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868902113802' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad2a6f0> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5401145b30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:15:02 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'TierTesting:pangaea-dev-orc-1:Authenticated_READ.15',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:Authenticated_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'TierTesting:pangaea-dev-orc-1:Authenticated_READ.15',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '43112'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868902113743'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868902113494'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868902113114'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868902113802'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad2a6f0>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5401145b30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_AuthenticatedUser_can_Read(AbstractAuthorizationTestImplementations.java:765)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testIsAuthorized_AccessPolicy_is_AuthenticatedUser_can_Read", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 88.227, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:16:30 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'TierTesting:pangaea-dev-orc-1:Verified_READ.15',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:Verified_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'TierTesting:pangaea-dev-orc-1:Verified_READ.15',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/TierTesting:pangaea-dev-orc-1:Verified_READ.15 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15' PATH_TRANSLATED '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '43261' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868990331675' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868990331427' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868990331028' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868990331760' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad54c90> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53faf723f0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:16:30 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'TierTesting:pangaea-dev-orc-1:Verified_READ.15',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:Verified_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'TierTesting:pangaea-dev-orc-1:Verified_READ.15',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '43261'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868990331675'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868990331427'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868990331028'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868990331760'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad54c90>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53faf723f0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_VerifiedUser_can_Read(AbstractAuthorizationTestImplementations.java:914)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testIsAuthorized_AccessPolicy_is_VerifiedUser_can_Read", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 85.915, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:17:56 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'TierTesting:pangaea-dev-orc-1:testPerson_READ.15',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testPerson_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'TierTesting:pangaea-dev-orc-1:testPerson_READ.15',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/TierTesting:pangaea-dev-orc-1:testPerson_READ.15 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15' PATH_TRANSLATED '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '43428' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517869076262552' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517869076262256' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517869076261816' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517869076262643' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad54c90> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5400067870> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:17:56 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'TierTesting:pangaea-dev-orc-1:testPerson_READ.15',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testPerson_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'TierTesting:pangaea-dev-orc-1:testPerson_READ.15',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '43428'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517869076262552'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517869076262256'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517869076261816'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517869076262643'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad54c90>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5400067870>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testPerson_can_Read(AbstractAuthorizationTestImplementations.java:1057)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testIsAuthorized_AccessPolicy_is_testPerson_can_Read", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 87.49, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:19:23 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15' PATH_TRANSLATED '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '43565' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517869163749915' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517869163749593' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517869163749219' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517869163749976' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad54c90> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5400067870> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:19:23 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '43565'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517869163749915'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517869163749593'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517869163749219'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517869163749976'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad54c90>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5400067870>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testPerson_can_Write(AbstractAuthorizationTestImplementations.java:1197)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testIsAuthorized_AccessPolicy_is_testPerson_can_Write", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 205, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 5.147, "errorDetails" : "org.dataone.integration.TestIterationEndingException: the AccessRule of the returned object has either multiple subjects or multiple permissions [for host https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn ]", "errorStackTrace" : "java.lang.AssertionError: org.dataone.integration.TestIterationEndingException: the AccessRule of the returned object has either multiple subjects or multiple permissions [for host https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testPerson_can_ChangePerm(AbstractAuthorizationTestImplementations.java:1343)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 296, "name" : "testIsAuthorized_AccessPolicy_is_testPerson_can_ChangePerm", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 205, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 5.147, "errorDetails" : "org.dataone.integration.TestIterationEndingException: the AccessRule of the returned object has either multiple subjects or multiple permissions [for host https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn ]", "errorStackTrace" : "java.lang.AssertionError: org.dataone.integration.TestIterationEndingException: the AccessRule of the returned object has either multiple subjects or multiple permissions [for host https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testPerson_can_ChangePerm(AbstractAuthorizationTestImplementations.java:1343)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 296, "name" : "testIsAuthorized_AccessPolicy_is_testPerson_can_ChangePerm", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 205, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 5.148, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:19:28 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15' PATH_TRANSLATED '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '43587' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517869168900009' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517869168899710' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517869168899364' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517869168900071' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad54c90> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5400067870> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:19:28 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '43587'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517869168900009'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517869168899710'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517869168899364'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517869168900071'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad54c90>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5400067870>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testPerson_can_ChangePerm(AbstractAuthorizationTestImplementations.java:1338)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 296, "name" : "testIsAuthorized_AccessPolicy_is_testPerson_can_ChangePerm", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 84.18, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:20:53 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'TierTesting:pangaea-dev-orc-1:testGroup_READ.15',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testGroup_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'TierTesting:pangaea-dev-orc-1:testGroup_READ.15',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/TierTesting:pangaea-dev-orc-1:testGroup_READ.15 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15' PATH_TRANSLATED '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '43744' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517869253077220' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517869253076936' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517869253076541' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517869253077291' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad2a6f0> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5401145b30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:20:53 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'TierTesting:pangaea-dev-orc-1:testGroup_READ.15',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testGroup_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'TierTesting:pangaea-dev-orc-1:testGroup_READ.15',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '43744'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517869253077220'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517869253076936'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517869253076541'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517869253077291'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad2a6f0>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5401145b30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testGroup_can_Read(AbstractAuthorizationTestImplementations.java:1485)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testIsAuthorized_AccessPolicy_is_testGroup_can_Read", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 86.674, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:22:19 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15' PATH_TRANSLATED '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '43881' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517869339750035' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517869339749793' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517869339749361' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517869339750103' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad54c90> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5400067870> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:22:19 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '43881'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517869339750035'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517869339749793'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517869339749361'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517869339750103'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad54c90>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5400067870>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testGroup_can_Write(AbstractAuthorizationTestImplementations.java:1632)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testIsAuthorized_AccessPolicy_is_testGroup_can_Write", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 205, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 4.828, "errorDetails" : "org.dataone.integration.TestIterationEndingException: the AccessRule of the returned object has either multiple subjects or multiple permissions [for host https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn ]", "errorStackTrace" : "java.lang.AssertionError: org.dataone.integration.TestIterationEndingException: the AccessRule of the returned object has either multiple subjects or multiple permissions [for host https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testGroup_can_ChangePerm(AbstractAuthorizationTestImplementations.java:1784)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 296, "name" : "testIsAuthorized_AccessPolicy_is_testGroup_can_ChangePerm", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 205, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 4.828, "errorDetails" : "org.dataone.integration.TestIterationEndingException: the AccessRule of the returned object has either multiple subjects or multiple permissions [for host https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn ]", "errorStackTrace" : "java.lang.AssertionError: org.dataone.integration.TestIterationEndingException: the AccessRule of the returned object has either multiple subjects or multiple permissions [for host https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testGroup_can_ChangePerm(AbstractAuthorizationTestImplementations.java:1784)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 296, "name" : "testIsAuthorized_AccessPolicy_is_testGroup_can_ChangePerm", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 205, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 4.829, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:22:24 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15' PATH_TRANSLATED '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '43898' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517869344581393' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517869344581101' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517869344580757' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517869344581456' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad2a6f0> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5401145b30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:22:24 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '43898'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517869344581393'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517869344581101'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517869344580757'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517869344581456'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad2a6f0>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5401145b30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testGroup_can_ChangePerm(AbstractAuthorizationTestImplementations.java:1778)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 296, "name" : "testIsAuthorized_AccessPolicy_is_testGroup_can_ChangePerm", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 86.825, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:23:51 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15' PATH_TRANSLATED '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '44084' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517869431404113' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517869431403803' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517869431403293' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517869431404187' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad2a6f0> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5401145b30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:23:51 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '44084'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517869431404113'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517869431403803'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517869431403293'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517869431404187'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad2a6f0>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5401145b30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_legacyAccount_can_Write(AbstractAuthorizationTestImplementations.java:1923)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testIsAuthorized_AccessPolicy_is_legacyAccount_can_Write", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "duration" : 19.222, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:24:10 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15' PATH_TRANSLATED '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '44119' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517869450623199' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517869450622949' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517869450622596' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517869450623249' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad54c90> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fb05f6f0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:24:10 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '44119'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517869450623199'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517869450622949'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517869450622596'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517869450623249'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad54c90>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fb05f6f0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_ComplicatedAccessPolicy(AbstractAuthorizationTestImplementations.java:2059)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testIsAuthorized_ComplicatedAccessPolicy", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None } ], "duration" : 859.998, "enclosingBlockNames" : [ ], "enclosingBlocks" : [ ], "id" : None, "name" : "org.dataone.integration.it.apiTests.MNAuthorizationV2IT", "nodeId" : None, "stderr" : None, "stdout" : None, "timestamp" : None }, { "cases" : [ { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNCoreV2IT", "duration" : 1.869, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testPing", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNCoreV2IT", "duration" : 1.58, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testGetCapabilities", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNCoreV2IT", "duration" : 1.628, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testGetCapabilities_HasCompatibleNodeContact", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNCoreV2IT", "duration" : 1.603, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testGetCapabilities_NodeIdentityValidFormat", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None } ], "duration" : 6.682, "enclosingBlockNames" : [ ], "enclosingBlocks" : [ ], "id" : None, "name" : "org.dataone.integration.it.apiTests.MNCoreV2IT", "nodeId" : None, "stderr" : None, "stdout" : None, "timestamp" : None }, { "cases" : [ { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNCoreV2SlowIT", "duration" : 61.525, "errorDetails" : "ServiceFailure: 0 Client_Error: class org.dataone.client.exception.ClientSideException: /Read timed out [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/log ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: 0 Client_Error: class org.dataone.client.exception.ClientSideException: /Read timed out [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/log ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.CoreTestImplementations.testGetLogRecords_AccessRestriction(CoreTestImplementations.java:300)\u000a\u0009at org.dataone.integration.it.testImplementations.CoreTestImplementations.testGetLogRecords_AccessRestriction(CoreTestImplementations.java:256)\u000a\u0009at org.dataone.integration.it.apiTests.MNCoreV2SlowIT.testGetLogRecords_AccessRestriction(MNCoreV2SlowIT.java:47)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGetLogRecords_AccessRestriction", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 205, "className" : "org.dataone.integration.it.apiTests.MNCoreV2SlowIT", "duration" : 94.035, "errorDetails" : "ServiceFailure: 0 Client_Error: class org.dataone.client.exception.ClientSideException: /Read timed out [for host GET https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/log ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: 0 Client_Error: class org.dataone.client.exception.ClientSideException: /Read timed out [for host GET https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/log ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.CoreTestImplementations.testGetLogRecords_Slicing(CoreTestImplementations.java:427)\u000a\u0009at org.dataone.integration.it.testImplementations.CoreTestImplementations.testGetLogRecords_Slicing(CoreTestImplementations.java:372)\u000a\u0009at org.dataone.integration.it.apiTests.MNCoreV2SlowIT.testGetLogRecords_Slicing(MNCoreV2SlowIT.java:59)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 296, "name" : "testGetLogRecords_Slicing", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 486, "className" : "org.dataone.integration.it.apiTests.MNCoreV2SlowIT", "duration" : 94.035, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 15, "name" : "testGetLogRecords_eventFiltering", "skipped" : True, "skippedMessage" : None, "status" : "SKIPPED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 122, "className" : "org.dataone.integration.it.apiTests.MNCoreV2SlowIT", "duration" : 80.836, "errorDetails" : "ServiceFailure: 0 Client_Error: class org.dataone.client.exception.ClientSideException: /Read timed out [for host GET https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/log ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: 0 Client_Error: class org.dataone.client.exception.ClientSideException: /Read timed out [for host GET https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/log ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.CoreTestImplementations.testGetLogRecords_pidFiltering(CoreTestImplementations.java:632)\u000a\u0009at org.dataone.integration.it.testImplementations.CoreTestImplementations.testGetLogRecords_pidFiltering(CoreTestImplementations.java:540)\u000a\u0009at org.dataone.integration.it.apiTests.MNCoreV2SlowIT.testGetLogRecords_pidFiltering(MNCoreV2SlowIT.java:72)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 379, "name" : "testGetLogRecords_pidFiltering", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 142, "className" : "org.dataone.integration.it.apiTests.MNCoreV2SlowIT", "duration" : 81.887, "errorDetails" : "ServiceFailure : 0 Client_Error : class org.dataone.client.exception.ClientSideException: /Read timed out [for host GET https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/log ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure : 0 Client_Error : class org.dataone.client.exception.ClientSideException: /Read timed out [for host GET https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/log ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.CoreTestImplementations.testGetLogRecords_dateFiltering(CoreTestImplementations.java:728)\u000a\u0009at org.dataone.integration.it.testImplementations.CoreTestImplementations.testGetLogRecords_dateFiltering(CoreTestImplementations.java:644)\u000a\u0009at org.dataone.integration.it.apiTests.MNCoreV2SlowIT.testGetLogRecords_dateFiltering(MNCoreV2SlowIT.java:78)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 359, "name" : "testGetLogRecords_dateFiltering", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 122, "className" : "org.dataone.integration.it.apiTests.MNCoreV2SlowIT", "duration" : 81.48, "errorDetails" : "ServiceFailure: 0 Client_Error: class org.dataone.client.exception.ClientSideException: /Read timed out [for host GET https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/log ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: 0 Client_Error: class org.dataone.client.exception.ClientSideException: /Read timed out [for host GET https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/log ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.CoreTestImplementations.testGetLogRecords(CoreTestImplementations.java:358)\u000a\u0009at org.dataone.integration.it.testImplementations.CoreTestImplementations.testGetLogRecords(CoreTestImplementations.java:322)\u000a\u0009at org.dataone.integration.it.apiTests.MNCoreV2SlowIT.testGetLogRecords(MNCoreV2SlowIT.java:53)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 379, "name" : "testGetLogRecords", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None } ], "duration" : 399.765, "enclosingBlockNames" : [ ], "enclosingBlocks" : [ ], "id" : None, "name" : "org.dataone.integration.it.apiTests.MNCoreV2SlowIT", "nodeId" : None, "stderr" : None, "stdout" : None, "timestamp" : None }, { "cases" : [ { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNPackageV2IT", "duration" : 17.762, "errorDetails" : "ServiceFailure: -1:: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at email@monicaihli.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443 [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testGetPackage_20183614242772; FilePart:object = /tmp/mmp.output.7459125352127537539.tmp (3098 bytes); FilePart:sysmeta = /tmp/mmp.output.7872148836817858411.tmp (819 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1:: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000aInternal Server Error\u000aThe server encountered an internal error or\u000amisconfiguration and was unable to complete\u000ayour request.\u000aPlease contact the server administrator at \u000a email@monicaihli.com to inform them of the time this error occurred,\u000a and the actions you performed just before this error.\u000aMore information about this error may be available\u000ain the server error log.\u000aApache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testGetPackage_20183614242772; FilePart:object = /tmp/mmp.output.7459125352127537539.tmp (3098 bytes); FilePart:sysmeta = /tmp/mmp.output.7872148836817858411.tmp (819 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNPackageTestImplementations.testGetPackage(MNPackageTestImplementations.java:58)\u000a\u0009at org.dataone.integration.it.testImplementations.MNPackageTestImplementations.testGetPackage(MNPackageTestImplementations.java:37)\u000a\u0009at org.dataone.integration.it.apiTests.MNPackageV2IT.testGetPackage(MNPackageV2IT.java:58)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGetPackage", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNPackageV2IT", "duration" : 3.654, "errorDetails" : "ServiceFailure: -1:: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at email@monicaihli.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443 [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/monitor/ping ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1:: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000aInternal Server Error\u000aThe server encountered an internal error or\u000amisconfiguration and was unable to complete\u000ayour request.\u000aPlease contact the server administrator at \u000a email@monicaihli.com to inform them of the time this error occurred,\u000a and the actions you performed just before this error.\u000aMore information about this error may be available\u000ain the server error log.\u000aApache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/monitor/ping ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNPackageTestImplementations.testGetPackage_UnsupportedType(MNPackageTestImplementations.java:224)\u000a\u0009at org.dataone.integration.it.testImplementations.MNPackageTestImplementations.testGetPackage_UnsupportedType(MNPackageTestImplementations.java:199)\u000a\u0009at org.dataone.integration.it.apiTests.MNPackageV2IT.testGetPackage_UnsupportedType(MNPackageV2IT.java:52)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGetPackage_UnsupportedType", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNPackageV2IT", "duration" : 11.762, "errorDetails" : "ServiceFailure: -1:: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at email@monicaihli.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443 [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testGetPackage_NotAuthorized_201836142442791; FilePart:object = /tmp/mmp.output.6621642515690119576.tmp (3207 bytes); FilePart:sysmeta = /tmp/mmp.output.3267134812028703120.tmp (834 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1:: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000aInternal Server Error\u000aThe server encountered an internal error or\u000amisconfiguration and was unable to complete\u000ayour request.\u000aPlease contact the server administrator at \u000a email@monicaihli.com to inform them of the time this error occurred,\u000a and the actions you performed just before this error.\u000aMore information about this error may be available\u000ain the server error log.\u000aApache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testGetPackage_NotAuthorized_201836142442791; FilePart:object = /tmp/mmp.output.6621642515690119576.tmp (3207 bytes); FilePart:sysmeta = /tmp/mmp.output.3267134812028703120.tmp (834 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNPackageTestImplementations.testGetPackage_NotAuthorized(MNPackageTestImplementations.java:99)\u000a\u0009at org.dataone.integration.it.testImplementations.MNPackageTestImplementations.testGetPackage_NotAuthorized(MNPackageTestImplementations.java:75)\u000a\u0009at org.dataone.integration.it.apiTests.MNPackageV2IT.testGetPackage_NotAuthorized(MNPackageV2IT.java:40)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGetPackage_NotAuthorized", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNPackageV2IT", "duration" : 3.005, "errorDetails" : "ServiceFailure: -1:: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at email@monicaihli.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443 [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/monitor/ping ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1:: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000aInternal Server Error\u000aThe server encountered an internal error or\u000amisconfiguration and was unable to complete\u000ayour request.\u000aPlease contact the server administrator at \u000a email@monicaihli.com to inform them of the time this error occurred,\u000a and the actions you performed just before this error.\u000aMore information about this error may be available\u000ain the server error log.\u000aApache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/monitor/ping ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNPackageTestImplementations.testGetPackage_NotFound(MNPackageTestImplementations.java:182)\u000a\u0009at org.dataone.integration.it.testImplementations.MNPackageTestImplementations.testGetPackage_NotFound(MNPackageTestImplementations.java:157)\u000a\u0009at org.dataone.integration.it.apiTests.MNPackageV2IT.testGetPackage_NotFound(MNPackageV2IT.java:46)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGetPackage_NotFound", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None } ], "duration" : 36.185, "enclosingBlockNames" : [ ], "enclosingBlocks" : [ ], "id" : None, "name" : "org.dataone.integration.it.apiTests.MNPackageV2IT", "nodeId" : None, "stderr" : None, "stdout" : None, "timestamp" : None }, { "cases" : [ { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNQueryV2IT", "duration" : 2.307, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at email@monicaihli.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443 [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/query ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000aInternal Server Error\u000aThe server encountered an internal error or\u000amisconfiguration and was unable to complete\u000ayour request.\u000aPlease contact the server administrator at \u000a email@monicaihli.com to inform them of the time this error occurred,\u000a and the actions you performed just before this error.\u000aMore information about this error may be available\u000ain the server error log.\u000aApache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/query ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.QueryTestImplementations.testListQueryEngines(QueryTestImplementations.java:86)\u000a\u0009at org.dataone.integration.it.testImplementations.QueryTestImplementations.testListQueryEngines(QueryTestImplementations.java:70)\u000a\u0009at org.dataone.integration.it.apiTests.MNQueryV2IT.testListQueryEngines(MNQueryV2IT.java:45)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testListQueryEngines", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNQueryV2IT", "duration" : 1.697, "errorDetails" : "GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/query ServiceFailure: -1:: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at email@monicaihli.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443 ", "errorStackTrace" : "java.lang.AssertionError: GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/query ServiceFailure: -1:: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000aInternal Server Error\u000aThe server encountered an internal error or\u000amisconfiguration and was unable to complete\u000ayour request.\u000aPlease contact the server administrator at \u000a email@monicaihli.com to inform them of the time this error occurred,\u000a and the actions you performed just before this error.\u000aMore information about this error may be available\u000ain the server error log.\u000aApache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443\u000a\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.it.testImplementations.QueryTestImplementations.testGetQueryEngineDescription(QueryTestImplementations.java:53)\u000a\u0009at org.dataone.integration.it.testImplementations.QueryTestImplementations.testGetQueryEngineDescription(QueryTestImplementations.java:36)\u000a\u0009at org.dataone.integration.it.apiTests.MNQueryV2IT.testGetQueryEngineDescription(MNQueryV2IT.java:51)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGetQueryEngineDescription", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None } ], "duration" : 4.007, "enclosingBlockNames" : [ ], "enclosingBlocks" : [ ], "id" : None, "name" : "org.dataone.integration.it.apiTests.MNQueryV2IT", "nodeId" : None, "stderr" : None, "stdout" : None, "timestamp" : None }, { "cases" : [ { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 7.735, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testGet", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 2.162, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testGet_NotFound", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 14.017, "errorDetails" : "https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Failed 1 or more identifier encoding testsNode Test Summary for node: https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Test 0: OK : common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ Test 1: OK : common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz Test 2: OK : common-unicode-ascii-safe-0123456789 Test 3: OK : common-unicode-ascii-safe-:@$-_.!*()',~ Test 4: OK : common-unicode-ascii-safe-unreserved-._~ Test 5: OK : common-unicode-ascii-safe-sub-delims-$!*()', Test 6: OK : common-unicode-ascii-safe-gen-delims-:@ Test 7: OK : common-unicode-ascii-escaped-\"#<>[]^`{}| Test 8: OK : common-unicode-ascii-escaped-tomcatBlocked-\\ Test 9: OK : common-unicode-ascii-escaped-tomcatBlocked-%5C Test 10: OK : common-unicode-ascii-semi-colon-test-%3B Test 11: OK : common-unicode-ascii-escaped-% Test 12: OK : common-unicode-ascii-escape-anyway-+ Test 13: OK : path-unicode-ascii-safe-&=&= Test 14: OK : path-unicode-ascii-escaped-; Test 15: OK : path-unicode-ascii-escaped-? Test 16: OK : path-unicode-ascii-escaped-/ Test 17: OK : path-unicode-ascii-escaped-%3F Test 18: OK : path-unicode-ascii-escaped-%2F Test 19: OK : path-unicode-ascii-escaped-double-//case Test 20: OK : path-unicode-ascii-escaped-double-trailing// Test 21: OK : path-unicode-ascii-escaped-double-%2F%2Fcase Test 22: OK : path-unicode-ascii-escaped-double-trailing%2F%2F Test 23: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-1byte-escaped-¡¢£ Test 24: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-2byte-escaped-䦹䦺 Test 25: OK : common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815 Test 26: OK : path-ascii-doc-example-10.1000/182 Test 27: OK : path-ascii-doc-example-http://example.com/data/mydata?row=24 Test 28: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-ฉันกินกระจกได้ Test 29: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-Is_féidir_liom_ithe_gloine ", "errorStackTrace" : "java.lang.AssertionError: https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Failed 1 or more identifier encoding testsNode Test Summary for node: https://pangaea-dev-orc-1.test.dataone.org/mn/v2\u000a Test 0: OK : common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ\u000a Test 1: OK : common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz\u000a Test 2: OK : common-unicode-ascii-safe-0123456789\u000a Test 3: OK : common-unicode-ascii-safe-:@$-_.!*()',~\u000a Test 4: OK : common-unicode-ascii-safe-unreserved-._~\u000a Test 5: OK : common-unicode-ascii-safe-sub-delims-$!*()',\u000a Test 6: OK : common-unicode-ascii-safe-gen-delims-:@\u000a Test 7: OK : common-unicode-ascii-escaped-\"#<>[]^`{}|\u000a Test 8: OK : common-unicode-ascii-escaped-tomcatBlocked-\\\u000a Test 9: OK : common-unicode-ascii-escaped-tomcatBlocked-%5C\u000a Test 10: OK : common-unicode-ascii-semi-colon-test-%3B\u000a Test 11: OK : common-unicode-ascii-escaped-%\u000a Test 12: OK : common-unicode-ascii-escape-anyway-+\u000a Test 13: OK : path-unicode-ascii-safe-&=&=\u000a Test 14: OK : path-unicode-ascii-escaped-;\u000a Test 15: OK : path-unicode-ascii-escaped-?\u000a Test 16: OK : path-unicode-ascii-escaped-/\u000a Test 17: OK : path-unicode-ascii-escaped-%3F\u000a Test 18: OK : path-unicode-ascii-escaped-%2F\u000a Test 19: OK : path-unicode-ascii-escaped-double-//case\u000a Test 20: OK : path-unicode-ascii-escaped-double-trailing//\u000a Test 21: OK : path-unicode-ascii-escaped-double-%2F%2Fcase\u000a Test 22: OK : path-unicode-ascii-escaped-double-trailing%2F%2F\u000a Test 23: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-1byte-escaped-¡¢£\u000a Test 24: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-2byte-escaped-䦹䦺\u000a Test 25: OK : common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815\u000a Test 26: OK : path-ascii-doc-example-10.1000/182\u000a Test 27: OK : path-ascii-doc-example-http://example.com/data/mydata?row=24\u000a Test 28: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-ฉันกินกระจกได้\u000a Test 29: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-Is_féidir_liom_ithe_gloine\u000a \u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1827)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.ReadTestImplementations.testGet_IdentifierEncoding(ReadTestImplementations.java:190)\u000a\u0009at org.dataone.integration.it.testImplementations.ReadTestImplementations.testGet_IdentifierEncoding(ReadTestImplementations.java:127)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testGet_IdentifierEncoding(MNReadV2IT.java:76)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGet_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 4.057, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testGetSystemMetadata", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 1.838, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testGetSystemMetadata_NotFound", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 12.161, "errorDetails" : "https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Failed 1 or more identifier encoding testsNode Test Summary for node: https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Test 0: OK : common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ Test 1: OK : common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz Test 2: OK : common-unicode-ascii-safe-0123456789 Test 3: OK : common-unicode-ascii-safe-:@$-_.!*()',~ Test 4: OK : common-unicode-ascii-safe-unreserved-._~ Test 5: OK : common-unicode-ascii-safe-sub-delims-$!*()', Test 6: OK : common-unicode-ascii-safe-gen-delims-:@ Test 7: OK : common-unicode-ascii-escaped-\"#<>[]^`{}| Test 8: OK : common-unicode-ascii-escaped-tomcatBlocked-\\ Test 9: OK : common-unicode-ascii-escaped-tomcatBlocked-%5C Test 10: OK : common-unicode-ascii-semi-colon-test-%3B Test 11: OK : common-unicode-ascii-escaped-% Test 12: OK : common-unicode-ascii-escape-anyway-+ Test 13: OK : path-unicode-ascii-safe-&=&= Test 14: OK : path-unicode-ascii-escaped-; Test 15: OK : path-unicode-ascii-escaped-? Test 16: OK : path-unicode-ascii-escaped-/ Test 17: OK : path-unicode-ascii-escaped-%3F Test 18: OK : path-unicode-ascii-escaped-%2F Test 19: OK : path-unicode-ascii-escaped-double-//case Test 20: OK : path-unicode-ascii-escaped-double-trailing// Test 21: OK : path-unicode-ascii-escaped-double-%2F%2Fcase Test 22: OK : path-unicode-ascii-escaped-double-trailing%2F%2F Test 23: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-1byte-escaped-¡¢£ Test 24: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-2byte-escaped-䦹䦺 Test 25: OK : common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815 Test 26: OK : path-ascii-doc-example-10.1000/182 Test 27: OK : path-ascii-doc-example-http://example.com/data/mydata?row=24 Test 28: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-ฉันกินกระจกได้ Test 29: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-Is_féidir_liom_ithe_gloine ", "errorStackTrace" : "java.lang.AssertionError: https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Failed 1 or more identifier encoding testsNode Test Summary for node: https://pangaea-dev-orc-1.test.dataone.org/mn/v2\u000a Test 0: OK : common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ\u000a Test 1: OK : common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz\u000a Test 2: OK : common-unicode-ascii-safe-0123456789\u000a Test 3: OK : common-unicode-ascii-safe-:@$-_.!*()',~\u000a Test 4: OK : common-unicode-ascii-safe-unreserved-._~\u000a Test 5: OK : common-unicode-ascii-safe-sub-delims-$!*()',\u000a Test 6: OK : common-unicode-ascii-safe-gen-delims-:@\u000a Test 7: OK : common-unicode-ascii-escaped-\"#<>[]^`{}|\u000a Test 8: OK : common-unicode-ascii-escaped-tomcatBlocked-\\\u000a Test 9: OK : common-unicode-ascii-escaped-tomcatBlocked-%5C\u000a Test 10: OK : common-unicode-ascii-semi-colon-test-%3B\u000a Test 11: OK : common-unicode-ascii-escaped-%\u000a Test 12: OK : common-unicode-ascii-escape-anyway-+\u000a Test 13: OK : path-unicode-ascii-safe-&=&=\u000a Test 14: OK : path-unicode-ascii-escaped-;\u000a Test 15: OK : path-unicode-ascii-escaped-?\u000a Test 16: OK : path-unicode-ascii-escaped-/\u000a Test 17: OK : path-unicode-ascii-escaped-%3F\u000a Test 18: OK : path-unicode-ascii-escaped-%2F\u000a Test 19: OK : path-unicode-ascii-escaped-double-//case\u000a Test 20: OK : path-unicode-ascii-escaped-double-trailing//\u000a Test 21: OK : path-unicode-ascii-escaped-double-%2F%2Fcase\u000a Test 22: OK : path-unicode-ascii-escaped-double-trailing%2F%2F\u000a Test 23: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-1byte-escaped-¡¢£\u000a Test 24: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-2byte-escaped-䦹䦺\u000a Test 25: OK : common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815\u000a Test 26: OK : path-ascii-doc-example-10.1000/182\u000a Test 27: OK : path-ascii-doc-example-http://example.com/data/mydata?row=24\u000a Test 28: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-ฉันกินกระจกได้\u000a Test 29: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-Is_féidir_liom_ithe_gloine\u000a \u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1827)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.ReadTestImplementations.testGetSystemMetadata_IdentifierEncoding(ReadTestImplementations.java:323)\u000a\u0009at org.dataone.integration.it.testImplementations.ReadTestImplementations.testGetSystemMetadata_IdentifierEncoding(ReadTestImplementations.java:267)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testGetSystemMetadata_IdentifierEncoding(MNReadV2IT.java:94)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGetSystemMetadata_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 3.337, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testDescribe", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 1.912, "errorDetails" : "ServiceFailure: 0000: NON-D1-EXCEPTION:: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Date = Mon, 05 Feb 2018 22:26:04 GMT Content-Type = text/html Via = 1.1 localhost (Apache-HttpClient/4.3.6 (cache)) [for host HEAD https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object/TestingNotFound:20183614264411 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: 0000: NON-D1-EXCEPTION:: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDate = Mon, 05 Feb 2018 22:26:04 GMT\u000aContent-Type = text/html\u000aVia = 1.1 localhost (Apache-HttpClient/4.3.6 (cache)) [for host HEAD https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object/TestingNotFound:20183614264411 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.ReadTestImplementations.testDescribe_NotFound(ReadTestImplementations.java:386)\u000a\u0009at org.dataone.integration.it.testImplementations.ReadTestImplementations.testDescribe_NotFound(ReadTestImplementations.java:368)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testDescribe_NotFound(MNReadV2IT.java:106)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testDescribe_NotFound", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 22.961, "errorDetails" : "https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Failed 1 or more identifier encoding testsNode Test Summary for node: https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Test 0: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ Test 1: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz Test 2: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-safe-0123456789 Test 3: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-safe-:@$-_.!*()',~ Test 4: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-safe-unreserved-._~ Test 5: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-safe-sub-delims-$!*()', Test 6: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-safe-gen-delims-:@ Test 7: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-escaped-\"#<>[]^`{}| Test 8: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-escaped-tomcatBlocked-\\ Test 9: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-escaped-tomcatBlocked-%5C Test 10: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-semi-colon-test-%3B Test 11: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-escaped-% Test 12: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-ascii-escape-anyway-+ Test 13: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: path-unicode-ascii-safe-&=&= Test 14: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: path-unicode-ascii-escaped-; Test 15: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: path-unicode-ascii-escaped-? Test 16: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: path-unicode-ascii-escaped-/ Test 17: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: path-unicode-ascii-escaped-%3F Test 18: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: path-unicode-ascii-escaped-%2F Test 19: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: path-unicode-ascii-escaped-double-//case Test 20: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: path-unicode-ascii-escaped-double-trailing// Test 21: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: path-unicode-ascii-escaped-double-%2F%2Fcase Test 22: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: path-unicode-ascii-escaped-double-trailing%2F%2F Test 23: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-bmp-1byte-escaped-¡¢£ Test 24: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-unicode-bmp-2byte-escaped-䦹䦺 Test 25: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815 Test 26: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: path-ascii-doc-example-10.1000/182 Test 27: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: path-ascii-doc-example-http://example.com/data/mydata?row=24 Test 28: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-bmp-doc-example-ฉันกินกระจกได้ Test 29: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: header = value Server = Apache/2.4.18 (Ubuntu) Connection = close Dat...: common-bmp-doc-example-Is_féidir_liom_ithe_gloine ", "errorStackTrace" : "java.lang.AssertionError: https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Failed 1 or more identifier encoding testsNode Test Summary for node: https://pangaea-dev-orc-1.test.dataone.org/mn/v2\u000a Test 0: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ\u000a Test 1: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz\u000a Test 2: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-safe-0123456789\u000a Test 3: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-safe-:@$-_.!*()',~\u000a Test 4: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-safe-unreserved-._~\u000a Test 5: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-safe-sub-delims-$!*()',\u000a Test 6: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-safe-gen-delims-:@\u000a Test 7: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-escaped-\"#<>[]^`{}|\u000a Test 8: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-escaped-tomcatBlocked-\\\u000a Test 9: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-escaped-tomcatBlocked-%5C\u000a Test 10: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-semi-colon-test-%3B\u000a Test 11: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-escaped-%\u000a Test 12: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-ascii-escape-anyway-+\u000a Test 13: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: path-unicode-ascii-safe-&=&=\u000a Test 14: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: path-unicode-ascii-escaped-;\u000a Test 15: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: path-unicode-ascii-escaped-?\u000a Test 16: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: path-unicode-ascii-escaped-/\u000a Test 17: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: path-unicode-ascii-escaped-%3F\u000a Test 18: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: path-unicode-ascii-escaped-%2F\u000a Test 19: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: path-unicode-ascii-escaped-double-//case\u000a Test 20: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: path-unicode-ascii-escaped-double-trailing//\u000a Test 21: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: path-unicode-ascii-escaped-double-%2F%2Fcase\u000a Test 22: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: path-unicode-ascii-escaped-double-trailing%2F%2F\u000a Test 23: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-bmp-1byte-escaped-¡¢£\u000a Test 24: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-unicode-bmp-2byte-escaped-䦹䦺\u000a Test 25: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815\u000a Test 26: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: path-ascii-doc-example-10.1000/182\u000a Test 27: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: path-ascii-doc-example-http://example.com/data/mydata?row=24\u000a Test 28: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-bmp-doc-example-ฉันกินกระจกได้\u000a Test 29: Error:: ServiceFailure: 0000: NON-D1-EXCEPTION: status: 500 response headers: \u000aheader = value\u000aServer = Apache/2.4.18 (Ubuntu)\u000aConnection = close\u000aDat...: common-bmp-doc-example-Is_féidir_liom_ithe_gloine\u000a \u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1827)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.ReadTestImplementations.testDescribe_IdentifierEncoding(ReadTestImplementations.java:458)\u000a\u0009at org.dataone.integration.it.testImplementations.ReadTestImplementations.testDescribe_IdentifierEncoding(ReadTestImplementations.java:401)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testDescribe_IdentifierEncoding(MNReadV2IT.java:112)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testDescribe_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 4.287, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testGetChecksum", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 1.702, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testGetChecksum_NotFound", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 7.911, "errorDetails" : "https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Failed 1 or more identifier encoding testsNode Test Summary for node: https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Test 0: OK : common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ Test 1: OK : common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz Test 2: OK : common-unicode-ascii-safe-0123456789 Test 3: OK : common-unicode-ascii-safe-:@$-_.!*()',~ Test 4: OK : common-unicode-ascii-safe-unreserved-._~ Test 5: OK : common-unicode-ascii-safe-sub-delims-$!*()', Test 6: OK : common-unicode-ascii-safe-gen-delims-:@ Test 7: OK : common-unicode-ascii-escaped-\"#<>[]^`{}| Test 8: OK : common-unicode-ascii-escaped-tomcatBlocked-\\ Test 9: OK : common-unicode-ascii-escaped-tomcatBlocked-%5C Test 10: OK : common-unicode-ascii-semi-colon-test-%3B Test 11: OK : common-unicode-ascii-escaped-% Test 12: OK : common-unicode-ascii-escape-anyway-+ Test 13: OK : path-unicode-ascii-safe-&=&= Test 14: OK : path-unicode-ascii-escaped-; Test 15: OK : path-unicode-ascii-escaped-? Test 16: OK : path-unicode-ascii-escaped-/ Test 17: OK : path-unicode-ascii-escaped-%3F Test 18: OK : path-unicode-ascii-escaped-%2F Test 19: OK : path-unicode-ascii-escaped-double-//case Test 20: OK : path-unicode-ascii-escaped-double-trailing// Test 21: OK : path-unicode-ascii-escaped-double-%2F%2Fcase Test 22: OK : path-unicode-ascii-escaped-double-trailing%2F%2F Test 23: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-1byte-escaped-¡¢£ Test 24: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-2byte-escaped-䦹䦺 Test 25: OK : common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815 Test 26: OK : path-ascii-doc-example-10.1000/182 Test 27: OK : path-ascii-doc-example-http://example.com/data/mydata?row=24 Test 28: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-ฉันกินกระจกได้ Test 29: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-Is_féidir_liom_ithe_gloine ", "errorStackTrace" : "java.lang.AssertionError: https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Failed 1 or more identifier encoding testsNode Test Summary for node: https://pangaea-dev-orc-1.test.dataone.org/mn/v2\u000a Test 0: OK : common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ\u000a Test 1: OK : common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz\u000a Test 2: OK : common-unicode-ascii-safe-0123456789\u000a Test 3: OK : common-unicode-ascii-safe-:@$-_.!*()',~\u000a Test 4: OK : common-unicode-ascii-safe-unreserved-._~\u000a Test 5: OK : common-unicode-ascii-safe-sub-delims-$!*()',\u000a Test 6: OK : common-unicode-ascii-safe-gen-delims-:@\u000a Test 7: OK : common-unicode-ascii-escaped-\"#<>[]^`{}|\u000a Test 8: OK : common-unicode-ascii-escaped-tomcatBlocked-\\\u000a Test 9: OK : common-unicode-ascii-escaped-tomcatBlocked-%5C\u000a Test 10: OK : common-unicode-ascii-semi-colon-test-%3B\u000a Test 11: OK : common-unicode-ascii-escaped-%\u000a Test 12: OK : common-unicode-ascii-escape-anyway-+\u000a Test 13: OK : path-unicode-ascii-safe-&=&=\u000a Test 14: OK : path-unicode-ascii-escaped-;\u000a Test 15: OK : path-unicode-ascii-escaped-?\u000a Test 16: OK : path-unicode-ascii-escaped-/\u000a Test 17: OK : path-unicode-ascii-escaped-%3F\u000a Test 18: OK : path-unicode-ascii-escaped-%2F\u000a Test 19: OK : path-unicode-ascii-escaped-double-//case\u000a Test 20: OK : path-unicode-ascii-escaped-double-trailing//\u000a Test 21: OK : path-unicode-ascii-escaped-double-%2F%2Fcase\u000a Test 22: OK : path-unicode-ascii-escaped-double-trailing%2F%2F\u000a Test 23: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-1byte-escaped-¡¢£\u000a Test 24: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-2byte-escaped-䦹䦺\u000a Test 25: OK : common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815\u000a Test 26: OK : path-ascii-doc-example-10.1000/182\u000a Test 27: OK : path-ascii-doc-example-http://example.com/data/mydata?row=24\u000a Test 28: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-ฉันกินกระจกได้\u000a Test 29: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-Is_féidir_liom_ithe_gloine\u000a \u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1827)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.ReadTestImplementations.testGetChecksum_IdentifierEncoding(ReadTestImplementations.java:592)\u000a\u0009at org.dataone.integration.it.testImplementations.ReadTestImplementations.testGetChecksum_IdentifierEncoding(ReadTestImplementations.java:535)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testGetChecksum_IdentifierEncoding(MNReadV2IT.java:130)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGetChecksum_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 16.651, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testListObjects", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 19.676, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testListObjects_Slicing", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 3.439, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testListObjects_FromDateTest", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 1.786, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testListObjects_FormatIdFilteringTest", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 1.781, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testListObjects_FormatIdFilteringTestFakeFormat", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 118, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 1.678, "errorDetails" : "ServiceFailure:: 2161 The identifier cannot be null. [for host POST https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/error; MMP message has: FilePart:message = /tmp/mmp.output.6370903963278097088.tmp (213 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure:: 2161 The identifier cannot be null. [for host POST https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/error; MMP message has: FilePart:message = /tmp/mmp.output.6370903963278097088.tmp (213 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNReadTestImplementations.testSynchronizationFailed_NoCert(MNReadTestImplementations.java:73)\u000a\u0009at org.dataone.integration.it.testImplementations.MNReadTestImplementations.testSynchronizationFailed_NoCert(MNReadTestImplementations.java:46)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testSynchronizationFailed_NoCert(MNReadV2IT.java:166)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 383, "name" : "testSynchronizationFailed_NoCert", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 118, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 1.679, "errorDetails" : "ServiceFailure:: 2161 The identifier cannot be null. [for host POST https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn/v2/error; MMP message has: FilePart:message = /tmp/mmp.output.5216026672340701305.tmp (213 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure:: 2161 The identifier cannot be null. [for host POST https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn/v2/error; MMP message has: FilePart:message = /tmp/mmp.output.5216026672340701305.tmp (213 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNReadTestImplementations.testSynchronizationFailed_NoCert(MNReadTestImplementations.java:73)\u000a\u0009at org.dataone.integration.it.testImplementations.MNReadTestImplementations.testSynchronizationFailed_NoCert(MNReadTestImplementations.java:46)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testSynchronizationFailed_NoCert(MNReadV2IT.java:166)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 383, "name" : "testSynchronizationFailed_NoCert", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 9.01, "errorDetails" : "Should be able to retrieve a public object (as subject cnSandboxORC1). If the node is checking the client subject against the CN for all getReplica requests, and the node is not registered to an environment, this failure can be ignored. Got:NotAuthorized: 0:: A CN has not authorized the target MN to create a replica of object. target_mn=\"CN=urn:node:cnSandboxORC1,DC=dataone,DC=org\", pid=\"testView_Scimeta_2018361458187\", cn_error=\"name: NotFound errorCode: 404 detailCode: 4874 description: Couldn't find an object identified by testView_Scimeta_2018361458187. \" [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/replica/testView_Scimeta_2018361458187 ]", "errorStackTrace" : "java.lang.AssertionError: Should be able to retrieve a public object (as subject cnSandboxORC1). If the node is checking the client subject against the CN for all getReplica requests, and the node is not registered to an environment, this failure can be ignored. Got:NotAuthorized: 0:: A CN has not authorized the target MN to create a replica of object. target_mn=\"CN=urn:node:cnSandboxORC1,DC=dataone,DC=org\", pid=\"testView_Scimeta_2018361458187\", cn_error=\"name: NotFound\u000aerrorCode: 404\u000adetailCode: 4874\u000adescription: Couldn't find an object identified by testView_Scimeta_2018361458187.\u000a\" [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/replica/testView_Scimeta_2018361458187 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNReadTestImplementations.testGetReplica_PublicObject(MNReadTestImplementations.java:110)\u000a\u0009at org.dataone.integration.it.testImplementations.MNReadTestImplementations.testGetReplica_PublicObject(MNReadTestImplementations.java:88)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testGetReplica_PublicObject(MNReadV2IT.java:172)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGetReplica_PublicObject", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 3.871, "errorDetails" : "ServiceFailure: -1:: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/replica/testView_Scimeta_2018361458187 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/replica/testView_Scimeta_2018361458187 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:27:39 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_replica at 0x7f53fb9d9c08> callback_args (u'testView_Scimeta_2018361458187',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_replica, args=(u'testView_Scimeta_2018361458187',), kwargs={}, url_name=get_replica, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'testView_Scimeta_2018361458187',) view_func <function get_replica at 0x7f53fb9d9c08> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/replica/testView_Scimeta_2018361458187 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/replica/testView_Scimeta_2018361458187 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/replica/testView_Scimeta_2018361458187' PATH_TRANSLATED '/var/www/html/v2/replica/testView_Scimeta_2018361458187' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '44709' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/replica/testView_Scimeta_2018361458187' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517869659026956' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517869659026611' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517869659026221' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517869659027013' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fadb7390> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fa77e2f0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/replica/testView_Scimeta_2018361458187 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1:: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/replica/testView_Scimeta_2018361458187\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/replica/testView_Scimeta_2018361458187\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:27:39 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_replica at 0x7f53fb9d9c08>\u000a callback_args\u000a (u'testView_Scimeta_2018361458187',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_replica, args=(u'testView_Scimeta_2018361458187',), kwargs={}, url_name=get_replica, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'testView_Scimeta_2018361458187',)\u000a view_func\u000a <function get_replica at 0x7f53fb9d9c08>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/replica/testView_Scimeta_2018361458187'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/replica/testView_Scimeta_2018361458187\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/replica/testView_Scimeta_2018361458187\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/replica/testView_Scimeta_2018361458187'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/replica/testView_Scimeta_2018361458187'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '44709'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/replica/testView_Scimeta_2018361458187'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517869659026956'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517869659026611'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517869659026221'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517869659027013'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fadb7390>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fa77e2f0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/replica/testView_Scimeta_2018361458187 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNReadTestImplementations.testGetReplica_ValidCertificate_NotMN(MNReadTestImplementations.java:155)\u000a\u0009at org.dataone.integration.it.testImplementations.MNReadTestImplementations.testGetReplica_ValidCertificate_NotMN(MNReadTestImplementations.java:130)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testGetReplica_ValidCertificate_NotMN(MNReadV2IT.java:178)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGetReplica_ValidCertificate_NotMN", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 2.288, "errorDetails" : "with no client certificate, getReplica() should throw exception [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/replica/testView_Scimeta_2018361458187 ]", "errorStackTrace" : "java.lang.AssertionError: with no client certificate, getReplica() should throw exception [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/replica/testView_Scimeta_2018361458187 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNReadTestImplementations.testGetReplica_NoCertificate(MNReadTestImplementations.java:184)\u000a\u0009at org.dataone.integration.it.testImplementations.MNReadTestImplementations.testGetReplica_NoCertificate(MNReadTestImplementations.java:169)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testGetReplica_NoCertificate(MNReadV2IT.java:184)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGetReplica_NoCertificate", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 1.678, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testGetReplica_NotFound", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 24.491, "errorDetails" : "https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Failed 1 or more identifier encoding testsNode Test Summary for node: https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Test 0: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ Test 1: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz Test 2: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-0123456789 Test 3: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-:@$-_.!*()',~ Test 4: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-unreserved-._~ Test 5: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-sub-delims-$!*()', Test 6: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-gen-delims-:@ Test 7: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-escaped-\"#<>[]^`{}| Test 8: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-escaped-tomcatBlocked-\\ Test 9: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-escaped-tomcatBlocked-%5C Test 10: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-semi-colon-test-%3B Test 11: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-escaped-% Test 12: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-escape-anyway-+ Test 13: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-safe-&=&= Test 14: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-; Test 15: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-? Test 16: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-/ Test 17: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-%3F Test 18: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-%2F Test 19: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-double-//case Test 20: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-double-trailing// Test 21: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-double-%2F%2Fcase Test 22: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-double-trailing%2F%2F Test 23: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-1byte-escaped-¡¢£ Test 24: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-2byte-escaped-䦹䦺 Test 25: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815 Test 26: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-ascii-doc-example-10.1000/182 Test 27: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-ascii-doc-example-http://example.com/data/mydata?row=24 Test 28: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-ฉันกินกระจกได้ Test 29: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-Is_féidir_liom_ithe_gloine ", "errorStackTrace" : "java.lang.AssertionError: https://pangaea-dev-orc-1.test.dataone.org/mn/v2 Failed 1 or more identifier encoding testsNode Test Summary for node: https://pangaea-dev-orc-1.test.dataone.org/mn/v2\u000a Test 0: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ\u000a Test 1: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz\u000a Test 2: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-0123456789\u000a Test 3: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-:@$-_.!*()',~\u000a Test 4: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-unreserved-._~\u000a Test 5: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-sub-delims-$!*()',\u000a Test 6: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-safe-gen-delims-:@\u000a Test 7: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-escaped-\"#<>[]^`{}|\u000a Test 8: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-escaped-tomcatBlocked-\\\u000a Test 9: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-escaped-tomcatBlocked-%5C\u000a Test 10: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-semi-colon-test-%3B\u000a Test 11: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-escaped-%\u000a Test 12: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-ascii-escape-anyway-+\u000a Test 13: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-safe-&=&=\u000a Test 14: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-;\u000a Test 15: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-?\u000a Test 16: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-/\u000a Test 17: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-%3F\u000a Test 18: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-%2F\u000a Test 19: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-double-//case\u000a Test 20: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-double-trailing//\u000a Test 21: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-double-%2F%2Fcase\u000a Test 22: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-unicode-ascii-escaped-double-trailing%2F%2F\u000a Test 23: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-1byte-escaped-¡¢£\u000a Test 24: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-unicode-bmp-2byte-escaped-䦹䦺\u000a Test 25: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815\u000a Test 26: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-ascii-doc-example-10.1000/182\u000a Test 27: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: path-ascii-doc-example-http://example.com/data/mydata?row=24\u000a Test 28: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-ฉันกินกระจกได้\u000a Test 29: Error:: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down ...: common-bmp-doc-example-Is_féidir_liom_ithe_gloine\u000a \u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1827)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNReadTestImplementations.testGetReplica_IdentifierEncoding(MNReadTestImplementations.java:312)\u000a\u0009at org.dataone.integration.it.testImplementations.MNReadTestImplementations.testGetReplica_IdentifierEncoding(MNReadTestImplementations.java:245)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testGetReplica_IdentifierEncoding(MNReadV2IT.java:196)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testGetReplica_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 0.001, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testSidGet", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 0.002, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testSidGetSystemMetadata", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 0.001, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testSidDescribe", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 0.001, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testSidListObjects", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 6.594, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/testView_Scimeta_2018361458187 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testView_Scimeta_2018361458187 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:28:14 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'testView_Scimeta_2018361458187',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testView_Scimeta_2018361458187',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'testView_Scimeta_2018361458187',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testView_Scimeta_2018361458187 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/testView_Scimeta_2018361458187 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/testView_Scimeta_2018361458187' PATH_TRANSLATED '/var/www/html/v2/meta/testView_Scimeta_2018361458187' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '44879' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/testView_Scimeta_2018361458187' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517869694068908' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517869694068638' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517869694068285' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517869694069003' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f5401103390> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fadd6170> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testView_Scimeta_2018361458187 ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/testView_Scimeta_2018361458187\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testView_Scimeta_2018361458187\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:28:14 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'testView_Scimeta_2018361458187',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testView_Scimeta_2018361458187',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'testView_Scimeta_2018361458187',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testView_Scimeta_2018361458187'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testView_Scimeta_2018361458187\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/testView_Scimeta_2018361458187\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/testView_Scimeta_2018361458187'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/testView_Scimeta_2018361458187'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '44879'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/testView_Scimeta_2018361458187'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517869694068908'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517869694068638'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517869694068285'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517869694069003'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f5401103390>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fadd6170>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testView_Scimeta_2018361458187 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNSystemMetadataChangedMethodTestImplementations.testSystemMetadataChanged(MNSystemMetadataChangedMethodTestImplementations.java:131)\u000a\u0009at org.dataone.integration.it.testImplementations.MNSystemMetadataChangedMethodTestImplementations.testSystemMetadataChanged(MNSystemMetadataChangedMethodTestImplementations.java:51)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testSystemMetadataChanged(MNReadV2IT.java:226)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testSystemMetadataChanged", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 3.095, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testSystemMetadataChanged_EarlierDate", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 4.287, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testSystemMetadataChanged_authenticatedITKuser", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 2.154, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testSystemMetadataChanged_NotAuthPuplic", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 2.831, "errorDetails" : "This call to systemMetadataChanged should throw a NotAuthorized exception if called with the rightsHolder certificate. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/dirtySystemMetadata name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/dirtySystemMetadata Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:28:26 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function post_refresh_system_metadata at 0x7f53fb9de140> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.post_refresh_system_metadata, args=(), kwargs={}, url_name=post_refresh_system_metadata, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function post_refresh_system_metadata at 0x7f53fb9de140> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/dirtySystemMetadata Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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/dirtySystemMetadata 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value dateSysMetaLastModified u'2018-02-05T22:28:26.308+00:00' pid u'bogusPid' serialVersion u'10' FILES No FILES data COOKIES No cookie data META Variable Value CONTENT_LENGTH '609' CONTENT_TYPE 'multipart/form-data; boundary=UPjMC-0mqLmFXh-8QeaWgsttutpAKzcxjQlQVfb' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/dirtySystemMetadata' PATH_TRANSLATED '/var/www/html/v2/dirtySystemMetadata' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '44926' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/dirtySystemMetadata' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517869706446160' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517869706445870' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517869706445521' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517869706446221' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53f8a36390> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53f9f1c0b0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/dirtySystemMetadata; MMP message has: ParamPart:pid = bogusPid; ParamPart:dateSysMetaLastModified = 2018-02-05T22:28:26.308+00:00; ParamPart:serialVersion = 10; ]", "errorStackTrace" : "java.lang.AssertionError: This call to systemMetadataChanged should throw a NotAuthorized exception if called with the rightsHolder certificate. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/dirtySystemMetadata\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/dirtySystemMetadata\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:28:26 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function post_refresh_system_metadata at 0x7f53fb9de140>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.post_refresh_system_metadata, args=(), kwargs={}, url_name=post_refresh_system_metadata, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function post_refresh_system_metadata at 0x7f53fb9de140>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/dirtySystemMetadata'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/dirtySystemMetadata\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/dirtySystemMetadata\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a dateSysMetaLastModified\u000a u'2018-02-05T22:28:26.308+00:00'\u000a pid\u000a u'bogusPid'\u000a serialVersion\u000a u'10'\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '609'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=UPjMC-0mqLmFXh-8QeaWgsttutpAKzcxjQlQVfb'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/dirtySystemMetadata'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/dirtySystemMetadata'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '44926'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/dirtySystemMetadata'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517869706446160'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517869706445870'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517869706445521'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517869706446221'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53f8a36390>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53f9f1c0b0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/dirtySystemMetadata; MMP message has: ParamPart:pid = bogusPid; ParamPart:dateSysMetaLastModified = 2018-02-05T22:28:26.308+00:00; ParamPart:serialVersion = 10; ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNSystemMetadataChangedMethodTestImplementations.testSystemMetadataChanged_NotAuthRightsHolder(MNSystemMetadataChangedMethodTestImplementations.java:308)\u000a\u0009at org.dataone.integration.it.testImplementations.MNSystemMetadataChangedMethodTestImplementations.testSystemMetadataChanged_NotAuthRightsHolder(MNSystemMetadataChangedMethodTestImplementations.java:291)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testSystemMetadataChanged_NotAuthRightsHolder(MNReadV2IT.java:250)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testSystemMetadataChanged_NotAuthRightsHolder", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNReadV2IT", "duration" : 1.91, "errorDetails" : "This call to systemMetadataChanged should throw a InvalidRequest exception if called with a bogus pid. Got: ServiceFailure: 0: Recasted unexpected exception from the service - class org.dataone.service.exceptions.NotFound: Identifier is unused on this Member Node. Expected a Persistent ID (PID) for an existing object. id=\"bogusPid\" [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/dirtySystemMetadata; MMP message has: ParamPart:pid = bogusPid; ParamPart:dateSysMetaLastModified = 2018-02-05T22:28:28.539+00:00; ParamPart:serialVersion = 10; ]", "errorStackTrace" : "java.lang.AssertionError: This call to systemMetadataChanged should throw a InvalidRequest exception if called with a bogus pid. Got: ServiceFailure: 0: Recasted unexpected exception from the service - class org.dataone.service.exceptions.NotFound: Identifier is unused on this Member Node. Expected a Persistent ID (PID) for an existing object. id=\"bogusPid\" [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/dirtySystemMetadata; MMP message has: ParamPart:pid = bogusPid; ParamPart:dateSysMetaLastModified = 2018-02-05T22:28:28.539+00:00; ParamPart:serialVersion = 10; ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNSystemMetadataChangedMethodTestImplementations.testSystemMetadataChanged_InvalidPid(MNSystemMetadataChangedMethodTestImplementations.java:341)\u000a\u0009at org.dataone.integration.it.testImplementations.MNSystemMetadataChangedMethodTestImplementations.testSystemMetadataChanged_InvalidPid(MNSystemMetadataChangedMethodTestImplementations.java:324)\u000a\u0009at org.dataone.integration.it.apiTests.MNReadV2IT.testSystemMetadataChanged_NotFoundAuthCN(MNReadV2IT.java:256)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testSystemMetadataChanged_NotFoundAuthCN", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None } ], "duration" : 191.315, "enclosingBlockNames" : [ ], "enclosingBlocks" : [ ], "id" : None, "name" : "org.dataone.integration.it.apiTests.MNReadV2IT", "nodeId" : None, "stderr" : None, "stdout" : None, "timestamp" : None }, { "cases" : [ { "testActions" : [ ], "age" : 486, "className" : "org.dataone.integration.it.apiTests.MNReplicationV2IT", "duration" : 1.656, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 15, "name" : "testReplicate", "skipped" : True, "skippedMessage" : None, "status" : "SKIPPED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReplicationV2IT", "duration" : 2.008, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testReplicate_ValidCertificate_NotCN", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 486, "className" : "org.dataone.integration.it.apiTests.MNReplicationV2IT", "duration" : 2.008, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 15, "name" : "testReplicate_FaultyNodeReference", "skipped" : True, "skippedMessage" : None, "status" : "SKIPPED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNReplicationV2IT", "duration" : 1.862, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testReplicate_NoCertificate", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None } ], "duration" : 3.873, "enclosingBlockNames" : [ ], "enclosingBlocks" : [ ], "id" : None, "name" : "org.dataone.integration.it.apiTests.MNReplicationV2IT", "nodeId" : None, "stderr" : None, "stdout" : None, "timestamp" : None }, { "cases" : [ { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.668, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:28 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135727904_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.4328154089501780466.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.4258369270226955832.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686071' CONTENT_TYPE 'multipart/form-data; boundary=WMXRES24V-rM7SCk669Pjml8NhJDUKiH' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40956' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867848352154' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867848351838' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867848351422' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867848352199' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fadd9738> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53faca1ef0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135727904_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ; FilePart:object = /tmp/mmp.output.4258369270226955832.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4328154089501780466.tmp (1037 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:28 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135727904_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.4328154089501780466.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.4258369270226955832.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686071'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=WMXRES24V-rM7SCk669Pjml8NhJDUKiH'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40956'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867848352154'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867848351838'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867848351422'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867848352199'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fadd9738>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53faca1ef0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135727904_common-unicode-ascii-safe-ABCDEFGHIJKLMNOPQRSTUVWXYZ; FilePart:object = /tmp/mmp.output.4258369270226955832.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4328154089501780466.tmp (1037 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.67, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:29 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135729132_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.6226310841784983637.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.6319615630210090049.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686095' CONTENT_TYPE 'multipart/form-data; boundary=5i7JxcD1SLFTai2JH2ZrkEMbGF2cXwr1FDvpvn' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40958' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867849283591' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867849283333' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867849283015' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867849283655' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fab30c48> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fae0e1b0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135729132_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz; FilePart:object = /tmp/mmp.output.6319615630210090049.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6226310841784983637.tmp (1037 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:29 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135729132_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.6226310841784983637.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.6319615630210090049.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686095'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=5i7JxcD1SLFTai2JH2ZrkEMbGF2cXwr1FDvpvn'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40958'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867849283591'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867849283333'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867849283015'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867849283655'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fab30c48>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fae0e1b0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135729132_common-unicode-ascii-safe-abcdefghijklmnopqrstuvwxyz; FilePart:object = /tmp/mmp.output.6319615630210090049.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6226310841784983637.tmp (1037 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.671, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:30 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135729966_common-unicode-ascii-safe-0123456789' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.1400538805032084443.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.2862273862199615782.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686043' CONTENT_TYPE 'multipart/form-data; boundary=NcfK5BBcMMQr1f0jgvtU9xHi3zFxwh2tL' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40960' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867850117640' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867850117325' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867850116952' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867850117699' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad94c48> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac44e70> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135729966_common-unicode-ascii-safe-0123456789; FilePart:object = /tmp/mmp.output.2862273862199615782.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1400538805032084443.tmp (1021 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:30 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135729966_common-unicode-ascii-safe-0123456789'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.1400538805032084443.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.2862273862199615782.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686043'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=NcfK5BBcMMQr1f0jgvtU9xHi3zFxwh2tL'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40960'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867850117640'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867850117325'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867850116952'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867850117699'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad94c48>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac44e70>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135729966_common-unicode-ascii-safe-0123456789; FilePart:object = /tmp/mmp.output.2862273862199615782.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1400538805032084443.tmp (1021 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.672, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:31 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u"testMNodeTier3:201836135730794_common-unicode-ascii-safe-:@$-_.!*()',~" FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.1288630107465280154.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.1654343894085641545.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686061' CONTENT_TYPE 'multipart/form-data; boundary=rxqWWKl2sdZkWvsT1JkQDZQR3EO0L3vSYSU3' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40962' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867850941703' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867850941422' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867850941073' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867850941755' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fb050780> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fabf4930> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135730794_common-unicode-ascii-safe-:@$-_.!*()',~; FilePart:object = /tmp/mmp.output.1654343894085641545.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1288630107465280154.tmp (1024 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:31 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u"testMNodeTier3:201836135730794_common-unicode-ascii-safe-:@$-_.!*()',~"\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.1288630107465280154.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.1654343894085641545.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686061'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=rxqWWKl2sdZkWvsT1JkQDZQR3EO0L3vSYSU3'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40962'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867850941703'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867850941422'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867850941073'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867850941755'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fb050780>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fabf4930>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135730794_common-unicode-ascii-safe-:@$-_.!*()',~; FilePart:object = /tmp/mmp.output.1654343894085641545.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1288630107465280154.tmp (1024 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.673, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:32 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135731677_common-unicode-ascii-safe-unreserved-._~' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.5443209168669140928.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.1943472579544478147.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686051' CONTENT_TYPE 'multipart/form-data; boundary=wGOwmNKSqS6ZK46tC5Gcos-OhHq19dbqw' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40963' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867851822074' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867851821819' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867851821505' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867851822116' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f54010ff2b8> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad4bab0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135731677_common-unicode-ascii-safe-unreserved-._~; FilePart:object = /tmp/mmp.output.1943472579544478147.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5443209168669140928.tmp (1025 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:32 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135731677_common-unicode-ascii-safe-unreserved-._~'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.5443209168669140928.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.1943472579544478147.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686051'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=wGOwmNKSqS6ZK46tC5Gcos-OhHq19dbqw'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40963'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867851822074'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867851821819'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867851821505'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867851822116'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f54010ff2b8>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad4bab0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135731677_common-unicode-ascii-safe-unreserved-._~; FilePart:object = /tmp/mmp.output.1943472579544478147.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5443209168669140928.tmp (1025 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.674, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:33 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u"testMNodeTier3:201836135732559_common-unicode-ascii-safe-sub-delims-$!*()'," FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.5692531764243880031.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.6478239521398428146.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686063' CONTENT_TYPE 'multipart/form-data; boundary=NxLixemt5Tf3LXs702qfTVOd0b60914efH' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40965' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867852706335' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867852705971' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867852705604' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867852706395' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad1a4f8> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac22d30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135732559_common-unicode-ascii-safe-sub-delims-$!*()',; FilePart:object = /tmp/mmp.output.6478239521398428146.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5692531764243880031.tmp (1029 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:33 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u"testMNodeTier3:201836135732559_common-unicode-ascii-safe-sub-delims-$!*()',"\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.5692531764243880031.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.6478239521398428146.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686063'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=NxLixemt5Tf3LXs702qfTVOd0b60914efH'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40965'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867852706335'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867852705971'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867852705604'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867852706395'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad1a4f8>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac22d30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135732559_common-unicode-ascii-safe-sub-delims-$!*()',; FilePart:object = /tmp/mmp.output.6478239521398428146.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5692531764243880031.tmp (1029 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.676, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:33 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135733439_common-unicode-ascii-safe-gen-delims-:@' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.6056436699313243374.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.3540857796879590489.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686045' CONTENT_TYPE 'multipart/form-data; boundary=C5iEiWp0CHNZPgfCQ8xRaT7N6lNfaq57' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40968' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867853585084' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867853584795' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867853584482' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867853585140' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fac88f18> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac44530> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135733439_common-unicode-ascii-safe-gen-delims-:@; FilePart:object = /tmp/mmp.output.3540857796879590489.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6056436699313243374.tmp (1024 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:33 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135733439_common-unicode-ascii-safe-gen-delims-:@'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.6056436699313243374.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.3540857796879590489.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686045'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=C5iEiWp0CHNZPgfCQ8xRaT7N6lNfaq57'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40968'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867853585084'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867853584795'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867853584482'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867853585140'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fac88f18>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac44530>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135733439_common-unicode-ascii-safe-gen-delims-:@; FilePart:object = /tmp/mmp.output.3540857796879590489.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6056436699313243374.tmp (1024 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.677, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:35 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135734316_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.1394232861184356606.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.734926927663257304.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686094' CONTENT_TYPE 'multipart/form-data; boundary=kOHWaL6W-WaDNuFECHpcZfJaJwTGBjkTC' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40970' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867854461196' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867854460920' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867854460569' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867854461316' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53facd4858> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac7b170> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135734316_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C; FilePart:object = /tmp/mmp.output.734926927663257304.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1394232861184356606.tmp (1047 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:35 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135734316_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.1394232861184356606.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.734926927663257304.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686094'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=kOHWaL6W-WaDNuFECHpcZfJaJwTGBjkTC'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40970'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867854461196'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867854460920'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867854460569'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867854461316'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53facd4858>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac7b170>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135734316_common-unicode-ascii-escaped-%22%23%3C%3E%5B%5D%5E%60%7B%7D%7C; FilePart:object = /tmp/mmp.output.734926927663257304.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1394232861184356606.tmp (1047 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.677, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:36 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135735633_common-unicode-ascii-escaped-tomcatBlocked-%5C' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.7066757662246707575.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.3422379335601495516.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686063' CONTENT_TYPE 'multipart/form-data; boundary=VHuIcusjJIWsgrvkSsinTFsF4MPejSVRR' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40972' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867855779249' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867855779011' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867855778669' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867855779303' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f5400132270> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fab8a8f0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135735633_common-unicode-ascii-escaped-tomcatBlocked-%5C; FilePart:object = /tmp/mmp.output.3422379335601495516.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7066757662246707575.tmp (1031 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:36 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135735633_common-unicode-ascii-escaped-tomcatBlocked-%5C'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.7066757662246707575.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.3422379335601495516.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686063'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=VHuIcusjJIWsgrvkSsinTFsF4MPejSVRR'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40972'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867855779249'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867855779011'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867855778669'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867855779303'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f5400132270>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fab8a8f0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135735633_common-unicode-ascii-escaped-tomcatBlocked-%5C; FilePart:object = /tmp/mmp.output.3422379335601495516.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7066757662246707575.tmp (1031 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.678, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:37 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135736507_common-unicode-ascii-escaped-tomcatBlocked-%255C' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.1432808594749177476.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.7407804464317843637.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686091' CONTENT_TYPE 'multipart/form-data; boundary=6dbHnV5IEZ86Qh5kBSvSY7JMYwcOKi-pb-nOzA-' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40973' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867856655317' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867856655049' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867856654706' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867856655373' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad94c48> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fabd80b0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135736507_common-unicode-ascii-escaped-tomcatBlocked-%255C; FilePart:object = /tmp/mmp.output.7407804464317843637.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1432808594749177476.tmp (1033 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:37 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135736507_common-unicode-ascii-escaped-tomcatBlocked-%255C'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.1432808594749177476.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.7407804464317843637.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686091'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=6dbHnV5IEZ86Qh5kBSvSY7JMYwcOKi-pb-nOzA-'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40973'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867856655317'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867856655049'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867856654706'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867856655373'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad94c48>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fabd80b0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135736507_common-unicode-ascii-escaped-tomcatBlocked-%255C; FilePart:object = /tmp/mmp.output.7407804464317843637.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1432808594749177476.tmp (1033 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.679, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:37 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135737439_common-unicode-ascii-semi-colon-test-%253B' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.943854416505485553.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.4447658830228704667.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686058' CONTENT_TYPE 'multipart/form-data; boundary=oHuOBHyti_fjj-qrneUjZnjpYC88AeHzuN' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40975' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867857585859' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867857585610' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867857585269' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867857585910' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fae00f60> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad53c30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135737439_common-unicode-ascii-semi-colon-test-%253B; FilePart:object = /tmp/mmp.output.4447658830228704667.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.943854416505485553.tmp (1027 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:37 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135737439_common-unicode-ascii-semi-colon-test-%253B'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.943854416505485553.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.4447658830228704667.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686058'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=oHuOBHyti_fjj-qrneUjZnjpYC88AeHzuN'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40975'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867857585859'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867857585610'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867857585269'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867857585910'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fae00f60>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad53c30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135737439_common-unicode-ascii-semi-colon-test-%253B; FilePart:object = /tmp/mmp.output.4447658830228704667.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.943854416505485553.tmp (1027 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.68, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:38 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135738264_common-unicode-ascii-escaped-%25' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.4766765791500364750.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.6432164243441805467.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686051' CONTENT_TYPE 'multipart/form-data; boundary=z6ma0QgtwdtdC37y5n5Wblv7OYgDlLEwrsG1d' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40976' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867858410996' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867858410708' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867858410364' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867858411091' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fb9d6b70> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fab85330> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135738264_common-unicode-ascii-escaped-%25; FilePart:object = /tmp/mmp.output.6432164243441805467.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4766765791500364750.tmp (1017 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:38 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135738264_common-unicode-ascii-escaped-%25'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.4766765791500364750.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.6432164243441805467.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686051'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=z6ma0QgtwdtdC37y5n5Wblv7OYgDlLEwrsG1d'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40976'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867858410996'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867858410708'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867858410364'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867858411091'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fb9d6b70>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fab85330>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135738264_common-unicode-ascii-escaped-%25; FilePart:object = /tmp/mmp.output.6432164243441805467.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4766765791500364750.tmp (1017 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.68, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:39 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135739148_common-unicode-ascii-escaped-space%20x%20x' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.6385827192444540992.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.8521223332008450923.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686047' CONTENT_TYPE 'multipart/form-data; boundary=E1Fhwzq_v_lCLHMJz1vPQbR9YB7dFT1' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40979' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867859293299' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867859293006' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867859292672' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867859293352' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fb0cd810> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad78c70> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135739148_common-unicode-ascii-escaped-space%20x%20x; FilePart:object = /tmp/mmp.output.8521223332008450923.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6385827192444540992.tmp (1027 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:39 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135739148_common-unicode-ascii-escaped-space%20x%20x'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.6385827192444540992.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.8521223332008450923.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686047'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=E1Fhwzq_v_lCLHMJz1vPQbR9YB7dFT1'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40979'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867859293299'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867859293006'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867859292672'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867859293352'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fb0cd810>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad78c70>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135739148_common-unicode-ascii-escaped-space%20x%20x; FilePart:object = /tmp/mmp.output.8521223332008450923.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6385827192444540992.tmp (1027 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.681, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:40 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:20183613574027_common-unicode-ascii-escape-anyway-%2B' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.5513353017122120738.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.123598933965797689.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686040' CONTENT_TYPE 'multipart/form-data; boundary=muzlTcYc81yRrhW1bJWVk-KXF1CWpHJU' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '40980' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867860174188' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867860173869' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867860173538' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867860174248' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fb050780> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fb1147f0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20183613574027_common-unicode-ascii-escape-anyway-%2B; FilePart:object = /tmp/mmp.output.123598933965797689.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5513353017122120738.tmp (1022 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:40 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:20183613574027_common-unicode-ascii-escape-anyway-%2B'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.5513353017122120738.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.123598933965797689.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686040'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=muzlTcYc81yRrhW1bJWVk-KXF1CWpHJU'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '40980'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867860174188'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867860173869'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867860173538'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867860174248'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fb050780>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fb1147f0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20183613574027_common-unicode-ascii-escape-anyway-%2B; FilePart:object = /tmp/mmp.output.123598933965797689.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5513353017122120738.tmp (1022 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.682, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:41 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135740911_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.8294492101150899734.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.7824155767647803041.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686091' CONTENT_TYPE 'multipart/form-data; boundary=jCw2rexcyvt_PXobKDJ3XDJOJFKUhK' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41001' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867861060418' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867861060167' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867861059822' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867861060461' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad0c2b8> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac842b0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135740911_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B; FilePart:object = /tmp/mmp.output.7824155767647803041.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8294492101150899734.tmp (1051 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:41 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135740911_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.8294492101150899734.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.7824155767647803041.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686091'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=jCw2rexcyvt_PXobKDJ3XDJOJFKUhK'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41001'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867861060418'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867861060167'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867861059822'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867861060461'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad0c2b8>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac842b0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135740911_common-unicode-ascii-escape-space-v-plus-%2B%20%2B%2520%20%2520%2B; FilePart:object = /tmp/mmp.output.7824155767647803041.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8294492101150899734.tmp (1051 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.683, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:42 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135741795_path-unicode-ascii-safe-&=&=' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.4004877457492554694.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.5830188712785148773.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686031' CONTENT_TYPE 'multipart/form-data; boundary=lHaaGAdpscrNI-nCZVjSqZv7rCu-xgqO' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41005' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867861941626' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867861941342' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867861941022' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867861941682' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fac49f18> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad63ef0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135741795_path-unicode-ascii-safe-&=&=; FilePart:object = /tmp/mmp.output.5830188712785148773.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4004877457492554694.tmp (1021 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:42 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135741795_path-unicode-ascii-safe-&=&='\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.4004877457492554694.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.5830188712785148773.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686031'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=lHaaGAdpscrNI-nCZVjSqZv7rCu-xgqO'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41005'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867861941626'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867861941342'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867861941022'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867861941682'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fac49f18>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad63ef0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135741795_path-unicode-ascii-safe-&=&=; FilePart:object = /tmp/mmp.output.5830188712785148773.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4004877457492554694.tmp (1021 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.683, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:43 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135742680_path-unicode-ascii-escaped-%3B' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.4006846613196601498.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.1351961991750981609.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686019' CONTENT_TYPE 'multipart/form-data; boundary=JTh0AfCaO5Ve8S_wc6PwWdxveHtFU4' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41007' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867862826190' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867862825962' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867862825624' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867862826240' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f54091658a0> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5416f95230> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135742680_path-unicode-ascii-escaped-%3B; FilePart:object = /tmp/mmp.output.1351961991750981609.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4006846613196601498.tmp (1015 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:43 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135742680_path-unicode-ascii-escaped-%3B'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.4006846613196601498.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.1351961991750981609.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686019'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=JTh0AfCaO5Ve8S_wc6PwWdxveHtFU4'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41007'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867862826190'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867862825962'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867862825624'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867862826240'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f54091658a0>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5416f95230>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135742680_path-unicode-ascii-escaped-%3B; FilePart:object = /tmp/mmp.output.1351961991750981609.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4006846613196601498.tmp (1015 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.684, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:44 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135743619_path-unicode-ascii-escaped-%3F' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.8848006462063453348.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.2722731137517222158.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686019' CONTENT_TYPE 'multipart/form-data; boundary=2NwbBqxICKOWZMb5sd7Z411LxnQic9' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41008' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867863764818' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867863764535' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867863764204' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867863764869' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f5403f77588> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5408c8f0f0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135743619_path-unicode-ascii-escaped-%3F; FilePart:object = /tmp/mmp.output.2722731137517222158.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8848006462063453348.tmp (1015 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:44 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135743619_path-unicode-ascii-escaped-%3F'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.8848006462063453348.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.2722731137517222158.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686019'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=2NwbBqxICKOWZMb5sd7Z411LxnQic9'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41008'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867863764818'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867863764535'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867863764204'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867863764869'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f5403f77588>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5408c8f0f0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135743619_path-unicode-ascii-escaped-%3F; FilePart:object = /tmp/mmp.output.2722731137517222158.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8848006462063453348.tmp (1015 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.685, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:45 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135744509_path-unicode-ascii-escaped-%2F' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.269765357371205754.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.7607710217212226770.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686038' CONTENT_TYPE 'multipart/form-data; boundary=en9mkhj92lngPqyjxOlTgihoSTV7xLOqyGo' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41009' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867864654964' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867864654726' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867864654375' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867864655015' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f5403f2c588> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad4bd70> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135744509_path-unicode-ascii-escaped-%2F; FilePart:object = /tmp/mmp.output.7607710217212226770.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.269765357371205754.tmp (1015 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:45 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135744509_path-unicode-ascii-escaped-%2F'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.269765357371205754.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.7607710217212226770.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686038'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=en9mkhj92lngPqyjxOlTgihoSTV7xLOqyGo'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41009'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867864654964'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867864654726'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867864654375'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867864655015'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f5403f2c588>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad4bd70>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135744509_path-unicode-ascii-escaped-%2F; FilePart:object = /tmp/mmp.output.7607710217212226770.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.269765357371205754.tmp (1015 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.686, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:45 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135745396_path-unicode-ascii-escaped-%253F' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.2985267060720539824.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.917481004295768677.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686026' CONTENT_TYPE 'multipart/form-data; boundary=xHo9P_w2v1HnW3wr0STVEJd4MdswA3j' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41011' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867865542004' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867865541761' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867865541437' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867865542059' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fabc6b70> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac5cdf0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135745396_path-unicode-ascii-escaped-%253F; FilePart:object = /tmp/mmp.output.917481004295768677.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2985267060720539824.tmp (1017 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:45 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135745396_path-unicode-ascii-escaped-%253F'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.2985267060720539824.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.917481004295768677.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686026'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=xHo9P_w2v1HnW3wr0STVEJd4MdswA3j'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41011'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867865542004'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867865541761'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867865541437'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867865542059'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fabc6b70>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac5cdf0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135745396_path-unicode-ascii-escaped-%253F; FilePart:object = /tmp/mmp.output.917481004295768677.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2985267060720539824.tmp (1017 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.687, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:46 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135746327_path-unicode-ascii-escaped-%252F' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.7944577273748897239.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.7784673035867331339.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686023' CONTENT_TYPE 'multipart/form-data; boundary=xaZaJwql0VkVy9GehnmzY9cV_t3PEZ' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41013' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867866472258' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867866471966' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867866471604' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867866472306' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f541700b1e0> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac80a30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135746327_path-unicode-ascii-escaped-%252F; FilePart:object = /tmp/mmp.output.7784673035867331339.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7944577273748897239.tmp (1017 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:46 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135746327_path-unicode-ascii-escaped-%252F'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.7944577273748897239.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.7784673035867331339.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686023'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=xaZaJwql0VkVy9GehnmzY9cV_t3PEZ'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41013'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867866472258'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867866471966'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867866471604'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867866472306'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f541700b1e0>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac80a30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135746327_path-unicode-ascii-escaped-%252F; FilePart:object = /tmp/mmp.output.7784673035867331339.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7944577273748897239.tmp (1017 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.689, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:47 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135747206_path-unicode-ascii-escaped-double-%2F%2Fcase' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.6941300843097897980.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.4628842800339790235.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686087' CONTENT_TYPE 'multipart/form-data; boundary=hWCEZL834muJoe2B9S7Nzo_fPKONNC-17G0Or1rp' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41014' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867867352174' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867867351935' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867867351592' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867867352227' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f5408d2dd68> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fb03acf0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135747206_path-unicode-ascii-escaped-double-%2F%2Fcase; FilePart:object = /tmp/mmp.output.4628842800339790235.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6941300843097897980.tmp (1029 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:47 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135747206_path-unicode-ascii-escaped-double-%2F%2Fcase'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.6941300843097897980.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.4628842800339790235.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686087'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=hWCEZL834muJoe2B9S7Nzo_fPKONNC-17G0Or1rp'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41014'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867867352174'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867867351935'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867867351592'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867867352227'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f5408d2dd68>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fb03acf0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135747206_path-unicode-ascii-escaped-double-%2F%2Fcase; FilePart:object = /tmp/mmp.output.4628842800339790235.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6941300843097897980.tmp (1029 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.69, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:48 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:20183613574885_path-unicode-ascii-escaped-double-trailing%2F%2F' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.5154901251653757775.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.6654618192343970447.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686085' CONTENT_TYPE 'multipart/form-data; boundary=c9Jy4nUQjkaW_FvQIvJ_3NJuN-9yx2gABI2iFK' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41015' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867868234467' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867868234128' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867868233791' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867868234527' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f54010cdf18> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad8b470> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20183613574885_path-unicode-ascii-escaped-double-trailing%2F%2F; FilePart:object = /tmp/mmp.output.6654618192343970447.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5154901251653757775.tmp (1032 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:48 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:20183613574885_path-unicode-ascii-escaped-double-trailing%2F%2F'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.5154901251653757775.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.6654618192343970447.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686085'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=c9Jy4nUQjkaW_FvQIvJ_3NJuN-9yx2gABI2iFK'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41015'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867868234467'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867868234128'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867868233791'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867868234527'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f54010cdf18>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad8b470>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20183613574885_path-unicode-ascii-escaped-double-trailing%2F%2F; FilePart:object = /tmp/mmp.output.6654618192343970447.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5154901251653757775.tmp (1032 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.691, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:49 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:20183613574915_path-unicode-ascii-escaped-double-%252F%252Fcase' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.7842563546342514145.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.5328065881774750113.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686073' CONTENT_TYPE 'multipart/form-data; boundary=aKpQMNVQBqGTbyhA5EcCcWuBmRd99LQIKev' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41017' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867869160090' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867869159855' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867869159512' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867869160131' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f54010cd4f8> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fae0e830> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20183613574915_path-unicode-ascii-escaped-double-%252F%252Fcase; FilePart:object = /tmp/mmp.output.5328065881774750113.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7842563546342514145.tmp (1032 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:49 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:20183613574915_path-unicode-ascii-escaped-double-%252F%252Fcase'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.7842563546342514145.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.5328065881774750113.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686073'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=aKpQMNVQBqGTbyhA5EcCcWuBmRd99LQIKev'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41017'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867869160090'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867869159855'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867869159512'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867869160131'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f54010cd4f8>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fae0e830>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20183613574915_path-unicode-ascii-escaped-double-%252F%252Fcase; FilePart:object = /tmp/mmp.output.5328065881774750113.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.7842563546342514145.tmp (1032 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.692, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:50 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135749893_path-unicode-ascii-escaped-double-trailing%252F%252F' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.5327631648511166754.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.3059286925843301710.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686095' CONTENT_TYPE 'multipart/form-data; boundary=wPbmb3T1eirVVSAriznqKn2qiJspX4_wb-8xB5' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41018' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867870040486' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867870040196' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867870039846' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867870040546' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f540915da08> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fadb3070> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135749893_path-unicode-ascii-escaped-double-trailing%252F%252F; FilePart:object = /tmp/mmp.output.3059286925843301710.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5327631648511166754.tmp (1037 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:50 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135749893_path-unicode-ascii-escaped-double-trailing%252F%252F'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.5327631648511166754.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.3059286925843301710.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686095'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=wPbmb3T1eirVVSAriznqKn2qiJspX4_wb-8xB5'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41018'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867870040486'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867870040196'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867870039846'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867870040546'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f540915da08>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fadb3070>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135749893_path-unicode-ascii-escaped-double-trailing%252F%252F; FilePart:object = /tmp/mmp.output.3059286925843301710.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.5327631648511166754.tmp (1037 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.693, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:51 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135750764_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.283327043868269786.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.1584294999255931915.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686068' CONTENT_TYPE 'multipart/form-data; boundary=CVkd6RK-rkCMprJXxOBH0zEWFZQyddVV' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41021' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867870911328' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867870911032' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867870910682' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867870911390' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f5403f15930> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fabd3870> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135750764_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3; FilePart:object = /tmp/mmp.output.1584294999255931915.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.283327043868269786.tmp (1036 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:51 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135750764_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.283327043868269786.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.1584294999255931915.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686068'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=CVkd6RK-rkCMprJXxOBH0zEWFZQyddVV'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41021'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867870911328'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867870911032'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867870910682'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867870911390'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f5403f15930>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fabd3870>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135750764_common-unicode-bmp-1byte-escaped-%C2%A1%C2%A2%C2%A3; FilePart:object = /tmp/mmp.output.1584294999255931915.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.283327043868269786.tmp (1036 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.694, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:52 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135751584_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.6026670154757198082.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.1960256609849790510.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686089' CONTENT_TYPE 'multipart/form-data; boundary=3_z5pOJeulpy35w5-8WALlxNpaJM0twDB2Jwx' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41022' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867871729839' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867871729601' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867871729264' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867871729882' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fac53e88> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac2a470> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135751584_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA; FilePart:object = /tmp/mmp.output.1960256609849790510.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6026670154757198082.tmp (1036 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:52 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135751584_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.6026670154757198082.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.1960256609849790510.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686089'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=3_z5pOJeulpy35w5-8WALlxNpaJM0twDB2Jwx'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41022'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867871729839'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867871729601'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867871729264'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867871729882'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fac53e88>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac2a470>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135751584_common-unicode-bmp-2byte-escaped-%E4%A6%B9%E4%A6%BA; FilePart:object = /tmp/mmp.output.1960256609849790510.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.6026670154757198082.tmp (1036 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.694, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:53 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135752456_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.2492032217151945078.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.7194875161791716037.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686105' CONTENT_TYPE 'multipart/form-data; boundary=kW7qdDrMI9rKF__LQ-dD9KdfkSCxPKysLrwkGg' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41024' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867872602978' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867872602727' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867872602378' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867872603038' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fb75f228> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad2c7f0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135752456_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815; FilePart:object = /tmp/mmp.output.7194875161791716037.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2492032217151945078.tmp (1042 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:53 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135752456_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.2492032217151945078.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.7194875161791716037.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686105'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=kW7qdDrMI9rKF__LQ-dD9KdfkSCxPKysLrwkGg'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41024'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867872602978'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867872602727'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867872602378'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867872603038'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fb75f228>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad2c7f0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135752456_common-ascii-doc-example-urn:lsid:ubio.org:namebank:11815; FilePart:object = /tmp/mmp.output.7194875161791716037.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2492032217151945078.tmp (1042 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.695, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:53 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135753392_path-ascii-doc-example-10.1000%2F182' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.4892543799083258804.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.5797503638355122941.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686047' CONTENT_TYPE 'multipart/form-data; boundary=N-FCEhej3mNe6iEZFliTDuV9Zzy_2vH_AA' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41025' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867873540688' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867873540415' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867873540080' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867873540745' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f54091658a0> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad789f0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135753392_path-ascii-doc-example-10.1000%2F182; FilePart:object = /tmp/mmp.output.5797503638355122941.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4892543799083258804.tmp (1021 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:53 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135753392_path-ascii-doc-example-10.1000%2F182'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.4892543799083258804.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.5797503638355122941.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686047'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=N-FCEhej3mNe6iEZFliTDuV9Zzy_2vH_AA'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41025'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867873540688'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867873540415'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867873540080'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867873540745'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f54091658a0>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad789f0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135753392_path-ascii-doc-example-10.1000%2F182; FilePart:object = /tmp/mmp.output.5797503638355122941.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4892543799083258804.tmp (1021 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.696, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:54 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135754276_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.4368064332915084249.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.7599877557258527208.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686123' CONTENT_TYPE 'multipart/form-data; boundary=aNiy-CA782JdMNXOdcApPEiYWYYVtB3csXl6' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41026' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867874422931' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867874422639' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867874422249' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867874422992' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fac53d68> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad63830> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135754276_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24; FilePart:object = /tmp/mmp.output.7599877557258527208.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4368064332915084249.tmp (1055 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:54 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135754276_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.4368064332915084249.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.7599877557258527208.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686123'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=aNiy-CA782JdMNXOdcApPEiYWYYVtB3csXl6'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41026'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867874422931'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867874422639'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867874422249'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867874422992'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fac53d68>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad63830>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135754276_path-ascii-doc-example-http:%2F%2Fexample.com%2Fdata%2Fmydata%3Frow=24; FilePart:object = /tmp/mmp.output.7599877557258527208.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4368064332915084249.tmp (1055 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.707, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:55 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135755153_path-ascii-doc-example-ldap:%2F%2Fldap1.example.net:6666%2Fo=University%2520of%2520Michigan,%20c=US%3F%3Fsub%3F(cn=Babs%2520Jensen)' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.4202261546368718110.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.4290199739182868567.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686245' CONTENT_TYPE 'multipart/form-data; boundary=XOr07O0GynedR2gkMKHTiWk51RDBpqkgJ5sY' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41027' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867875301531' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867875301263' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867875300924' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867875301590' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f5403f1d858> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53faca1070> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135755153_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.4290199739182868567.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4202261546368718110.tmp (1116 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:55 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135755153_path-ascii-doc-example-ldap:%2F%2Fldap1.example.net:6666%2Fo=University%2520of%2520Michigan,%20c=US%3F%3Fsub%3F(cn=Babs%2520Jensen)'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.4202261546368718110.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.4290199739182868567.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686245'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=XOr07O0GynedR2gkMKHTiWk51RDBpqkgJ5sY'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41027'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867875301531'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867875301263'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867875300924'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867875301590'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f5403f1d858>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53faca1070>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135755153_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.4290199739182868567.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4202261546368718110.tmp (1116 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.709, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:56 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:20183613575694_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' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.3260046581914137508.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.2763136837747959537.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686263' CONTENT_TYPE 'multipart/form-data; boundary=BmHxdC4PITloBlHjNrvb2kTjZ9XD3Jkd' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41029' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867876241331' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867876241036' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867876240690' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867876241393' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fafed390> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5416f95230> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20183613575694_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.2763136837747959537.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3260046581914137508.tmp (1133 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:56 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:20183613575694_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'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.3260046581914137508.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.2763136837747959537.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686263'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=BmHxdC4PITloBlHjNrvb2kTjZ9XD3Jkd'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41029'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867876241331'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867876241036'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867876240690'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867876241393'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fafed390>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5416f95230>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:20183613575694_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.2763136837747959537.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.3260046581914137508.tmp (1133 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 294.709, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:57:57 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testMNodeTier3:201836135756975_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.4002629057136189725.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.6783163234788242770.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686083' CONTENT_TYPE 'multipart/form-data; boundary=GPWCQNRelN70cvbWuHxxekkyAeVJsqGTmi' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41030' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867877122716' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867877122475' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867877122103' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867877122762' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fb77d420> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f540012fc70> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135756975_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine; FilePart:object = /tmp/mmp.output.6783163234788242770.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4002629057136189725.tmp (1039 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:57:57 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testMNodeTier3:201836135756975_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.4002629057136189725.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.6783163234788242770.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686083'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=GPWCQNRelN70cvbWuHxxekkyAeVJsqGTmi'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41030'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867877122716'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867877122475'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867877122103'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867877122762'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fb77d420>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f540012fc70>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testMNodeTier3:201836135756975_common-bmp-doc-example-Is_f%C3%A9idir_liom_ithe_gloine; FilePart:object = /tmp/mmp.output.6783163234788242770.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4002629057136189725.tmp (1039 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:253)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreateData_IdentifierEncoding(MNStorageTestImplementations.java:153)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreateData_IdentifierEncoding(MNStorageV2IT.java:77)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreateData_IdentifierEncoding", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 7.513, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:58:05 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'mNodeTier3TestCreate20183613584538' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.8887472064826421335.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.1761496294032570331.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '685965' CONTENT_TYPE 'multipart/form-data; boundary=MY44vZra-exp3OS-2RDm9n0qo52TIl' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41047' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867884684227' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867884683925' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867884683555' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867884684291' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f54091658a0> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac44df0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestCreate20183613584538; FilePart:object = /tmp/mmp.output.1761496294032570331.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8887472064826421335.tmp (988 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:58:05 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'mNodeTier3TestCreate20183613584538'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.8887472064826421335.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.1761496294032570331.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '685965'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=MY44vZra-exp3OS-2RDm9n0qo52TIl'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41047'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867884684227'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867884683925'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867884683555'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867884684291'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f54091658a0>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac44df0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestCreate20183613584538; FilePart:object = /tmp/mmp.output.1761496294032570331.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.8887472064826421335.tmp (988 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:93)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testCreate(MNStorageTestImplementations.java:58)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testCreate(MNStorageV2IT.java:65)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testCreate", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 3.604, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testCreate_NoCert", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 9.872, "errorDetails" : "org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:58:18 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testUpdate_201836135818334' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.6315575639045802056.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.2932335683378893419.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '18922' CONTENT_TYPE 'multipart/form-data; boundary=45ZKMzV7AnYqjI6c9ik85NNU65xyJtyZ_Y0GP' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41083' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867898485964' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867898485675' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867898485311' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867898486026' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fafeee88> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac24070> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]", "errorStackTrace" : "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 stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:58:18 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testUpdate_201836135818334'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.6315575639045802056.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.2932335683378893419.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '18922'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=45ZKMzV7AnYqjI6c9ik85NNU65xyJtyZ_Y0GP'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41083'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867898485964'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867898485675'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867898485311'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867898486026'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fafeee88>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac24070>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:370)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate(MNStorageTestImplementations.java:288)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate(MNStorageV2IT.java:83)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdate", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 7.031, "errorDetails" : "org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:58:25 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testUpdate_201836135825335' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.919707115676177423.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.729879687169857475.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '18900' CONTENT_TYPE 'multipart/form-data; boundary=xLkDU1up0FEsDF2K59aYifGehB-iFZ-3' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41104' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867905511735' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867905511478' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867905511114' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867905511865' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f54096d52b8> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fab74eb0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]", "errorStackTrace" : "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 stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:58:25 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testUpdate_201836135825335'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.919707115676177423.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.729879687169857475.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '18900'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=xLkDU1up0FEsDF2K59aYifGehB-iFZ-3'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41104'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867905511735'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867905511478'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867905511114'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867905511865'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f54096d52b8>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fab74eb0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:433)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletedByInfo(MNStorageTestImplementations.java:380)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletedByInfo(MNStorageV2IT.java:89)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdate_badObsoletedByInfo", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 7.913, "errorDetails" : "org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:58:33 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testUpdate_201836135833104' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.6589209853804540047.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.2512230773642975616.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '18926' CONTENT_TYPE 'multipart/form-data; boundary=IILp7zE5xw4ICvCncTwRda5V2R7jRYWyR0kj9b' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41124' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867913436472' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867913436204' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867913435840' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867913436535' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fac7d300> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5401145b30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]", "errorStackTrace" : "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 stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:58:33 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testUpdate_201836135833104'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.6589209853804540047.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.2512230773642975616.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '18926'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=IILp7zE5xw4ICvCncTwRda5V2R7jRYWyR0kj9b'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41124'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867913436472'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867913436204'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867913435840'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867913436535'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fac7d300>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5401145b30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:492)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_badObsoletesInfo(MNStorageTestImplementations.java:442)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_badObsoletesInfo(MNStorageV2IT.java:95)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdate_badObsoletesInfo", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 5.937, "errorDetails" : "Exception while setting up test (callAdapter.create): ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:58:39 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'mNodeTier3TestUpdate201836135838896' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.2604867788582003621.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.3171007856426694411.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '685975' CONTENT_TYPE 'multipart/form-data; boundary=UQYvSjXcA3TV6UEjn0OEZHN9URkhoDj2' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41139' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867919043858' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867919043535' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867919043171' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867919043920' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f540913ff60> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fb04f670> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201836135838896; FilePart:object = /tmp/mmp.output.3171007856426694411.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2604867788582003621.tmp (989 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: Exception while setting up test (callAdapter.create): ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:58:39 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'mNodeTier3TestUpdate201836135838896'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.2604867788582003621.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.3171007856426694411.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '685975'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=UQYvSjXcA3TV6UEjn0OEZHN9URkhoDj2'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41139'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867919043858'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867919043535'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867919043171'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867919043920'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f540913ff60>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fb04f670>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201836135838896; FilePart:object = /tmp/mmp.output.3171007856426694411.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.2604867788582003621.tmp (989 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:558)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoCert(MNStorageTestImplementations.java:502)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoCert(MNStorageV2IT.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdate_NoCert", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 6.141, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:58:45 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'mNodeTier3TestUpdate201836135844923' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.1734949925133425150.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.4541529903732273659.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '686007' CONTENT_TYPE 'multipart/form-data; boundary=bZCCXTIkKZhQpz3lFrBs43s3rM3m10VGxuDNSUgc' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41182' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867925070994' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867925070689' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867925070274' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867925071064' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fac2f810> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad8b4f0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201836135844923; FilePart:object = /tmp/mmp.output.4541529903732273659.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1734949925133425150.tmp (989 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:58:45 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'mNodeTier3TestUpdate201836135844923'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.1734949925133425150.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.4541529903732273659.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '686007'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=bZCCXTIkKZhQpz3lFrBs43s3rM3m10VGxuDNSUgc'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41182'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867925070994'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867925070689'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867925070274'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867925071064'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fac2f810>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad8b4f0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestUpdate201836135844923; FilePart:object = /tmp/mmp.output.4541529903732273659.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.1734949925133425150.tmp (989 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:621)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testUpdate_NoRightsOnObsoleted(MNStorageTestImplementations.java:576)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdate_NoRightsOnObsoleted(MNStorageV2IT.java:107)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdate_NoRightsOnObsoleted", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 8.218, "errorDetails" : "ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:58:53 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'mNodeTier3TestDelete201836135853201' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.9191298351609435142.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.6289822689149438733.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '685991' CONTENT_TYPE 'multipart/form-data; boundary=pPO4uoQJCH8LG1rCb2gz_6-mPxdZ9ElDqoSU' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41204' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867933346870' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867933346573' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867933346126' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867933346933' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53faca7228> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5403cec9f0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestDelete201836135853201; FilePart:object = /tmp/mmp.output.6289822689149438733.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.9191298351609435142.tmp (989 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:58:53 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'mNodeTier3TestDelete201836135853201'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.9191298351609435142.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.6289822689149438733.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '685991'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=pPO4uoQJCH8LG1rCb2gz_6-mPxdZ9ElDqoSU'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41204'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867933346870'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867933346573'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867933346126'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867933346933'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53faca7228>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5403cec9f0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestDelete201836135853201; FilePart:object = /tmp/mmp.output.6289822689149438733.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.9191298351609435142.tmp (989 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:672)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive(MNStorageTestImplementations.java:638)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive(MNStorageV2IT.java:113)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testArchive", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 2.625, "errorDetails" : "Expected NotFound, got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at email@monicaihli.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443 [for host PUT https://pangaea-dev-orc-1.test.dataone.org/mn/v2/archive/fakeID.201836135856537; MMP entity is null ]", "errorStackTrace" : "java.lang.AssertionError: Expected NotFound, got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000aInternal Server Error\u000aThe server encountered an internal error or\u000amisconfiguration and was unable to complete\u000ayour request.\u000aPlease contact the server administrator at \u000a email@monicaihli.com to inform them of the time this error occurred,\u000a and the actions you performed just before this error.\u000aMore information about this error may be available\u000ain the server error log.\u000aApache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443\u000a [for host PUT https://pangaea-dev-orc-1.test.dataone.org/mn/v2/archive/fakeID.201836135856537; MMP entity is null ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NotFound(MNStorageTestImplementations.java:711)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NotFound(MNStorageTestImplementations.java:687)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive_NotFound(MNStorageV2IT.java:119)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testArchive_NotFound", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 6.579, "errorDetails" : "Expected InvalidToken or NotAuthorized, got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:59:03 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'mNodeTier3TestArchive20183613592499' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.4860239849963895708.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.2403389648901305862.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '685991' CONTENT_TYPE 'multipart/form-data; boundary=ZCIZhwZzIStZxjcCAxayZQLLQAjIdQIsOp4X' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41235' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867942650056' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867942649789' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867942649426' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867942650118' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fac9e588> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5416f95070> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestArchive20183613592499; FilePart:object = /tmp/mmp.output.2403389648901305862.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4860239849963895708.tmp (989 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: Expected InvalidToken or NotAuthorized, got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:59:03 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'mNodeTier3TestArchive20183613592499'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.4860239849963895708.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.2403389648901305862.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '685991'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=ZCIZhwZzIStZxjcCAxayZQLLQAjIdQIsOp4X'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41235'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867942650056'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867942649789'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867942649426'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867942650118'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fac9e588>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5416f95070>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = mNodeTier3TestArchive20183613592499; FilePart:object = /tmp/mmp.output.2403389648901305862.tmp (684336 bytes); FilePart:sysmeta = /tmp/mmp.output.4860239849963895708.tmp (989 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NoCert(MNStorageTestImplementations.java:786)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testArchive_NoCert(MNStorageTestImplementations.java:726)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testArchive_NoCert(MNStorageV2IT.java:125)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testArchive_NoCert", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 6.154, "errorDetails" : "Expected InvalidToken, got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:59:09 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'mNodeTier3TestDelete20183613598610' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.8259215906513015757.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.2451286240088667775.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '685981' CONTENT_TYPE 'multipart/form-data; boundary=QLhwv977Usv7pJN9wf4IqkSd6PaH6ZBfHX' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41266' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867948760866' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867948760614' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867948760245' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867948760917' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53faca7b28> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53faca9bb0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host DELETE https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn/v2/object/mNodeTier3TestDelete20183613597343 ]", "errorStackTrace" : "java.lang.AssertionError: Expected InvalidToken, got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:59:09 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'mNodeTier3TestDelete20183613598610'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.8259215906513015757.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.2451286240088667775.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '685981'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=QLhwv977Usv7pJN9wf4IqkSd6PaH6ZBfHX'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41266'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867948760866'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867948760614'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867948760245'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867948760917'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53faca7b28>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53faca9bb0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host DELETE https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn/v2/object/mNodeTier3TestDelete20183613597343 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testDelete_NoCert(MNStorageTestImplementations.java:862)\u000a\u0009at org.dataone.integration.it.testImplementations.MNStorageTestImplementations.testDelete_NoCert(MNStorageTestImplementations.java:802)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testDelete_NoCert(MNStorageV2IT.java:131)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testDelete_NoCert", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 0.001, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testSidCreate", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 486, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 0.002, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 15, "name" : "testGenerateIdentifier", "skipped" : True, "skippedMessage" : None, "status" : "SKIPPED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 29.744, "errorDetails" : "org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:59:38 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testUpdateSystemMetadata_RightsHolder_201836135938439' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.391323472681624990.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.2928623073640139669.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '18979' CONTENT_TYPE 'multipart/form-data; boundary=knyQiWZX8LAt0D2CZcgrJjkYwNs-oYwart6R0n' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41302' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867978808246' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867978807975' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867978807610' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867978808308' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fac532b8> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad635f0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]", "errorStackTrace" : "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 stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:59:38 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testUpdateSystemMetadata_RightsHolder_201836135938439'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.391323472681624990.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.2928623073640139669.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '18979'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=knyQiWZX8LAt0D2CZcgrJjkYwNs-oYwart6R0n'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41302'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867978808246'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867978807975'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867978807610'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867978808308'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fac532b8>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad635f0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)\u000a\u0009at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_RightsHolder(MNStorageV2IT.java:144)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_RightsHolder", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 7.282, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testUpdateSystemMetadata_NotFound", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 486, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 7.282, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 15, "name" : "testUpdateSystemMetadata_NotAuthorizedMN", "skipped" : True, "skippedMessage" : None, "status" : "SKIPPED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 245, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 7.074, "errorDetails" : "Expected an InvalidRequest exception. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201836135948738 ]", "errorStackTrace" : "java.lang.AssertionError: Expected an InvalidRequest exception. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201836135948738 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:116)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:89)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NoPid(MNStorageV2IT.java:168)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 256, "name" : "testUpdateSystemMetadata_InvalidRequest_NoPid", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 245, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 7.074, "errorDetails" : "Expected an InvalidRequest exception. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201836135951796 ]", "errorStackTrace" : "java.lang.AssertionError: Expected an InvalidRequest exception. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_201836135951796 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:116)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:89)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NoPid(MNStorageV2IT.java:168)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 256, "name" : "testUpdateSystemMetadata_InvalidRequest_NoPid", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 245, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 7.075, "errorDetails" : "Expected an InvalidRequest exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 21:59:53 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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_20183613595378 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378' PATH_TRANSLATED '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41366' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517867993218652' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517867993218350' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517867993217953' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517867993218714' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fac9ce40> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac2d030> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378 ]", "errorStackTrace" : "java.lang.AssertionError: Expected an InvalidRequest exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 21:59:53 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41366'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517867993218652'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517867993218350'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517867993217953'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517867993218714'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fac9ce40>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac2d030>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NoPid_20183613595378 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:116)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NoPid(UpdateSystemMetadataTestImplementations.java:89)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NoPid(MNStorageV2IT.java:168)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 256, "name" : "testUpdateSystemMetadata_InvalidRequest_NoPid", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 6.845, "errorDetails" : "Expected no exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:00:00 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'testUpdateSystemMetadata_NoSerialVersion_201836135959926',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_NoSerialVersion_201836135959926',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'testUpdateSystemMetadata_NoSerialVersion_201836135959926',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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_201836135959926 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926' PATH_TRANSLATED '/var/www/html/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41388' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868000065461' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868000065224' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868000064868' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868000065524' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fadcbb70> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fab91e30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926 ]", "errorStackTrace" : "java.lang.AssertionError: Expected no exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:00:00 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'testUpdateSystemMetadata_NoSerialVersion_201836135959926',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_NoSerialVersion_201836135959926',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'testUpdateSystemMetadata_NoSerialVersion_201836135959926',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41388'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868000065461'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868000065224'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868000064868'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868000065524'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fadcbb70>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fab91e30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_NoSerialVersion_201836135959926 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:197)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_NoSerialVersion(UpdateSystemMetadataTestImplementations.java:173)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_NoSerialVersion(MNStorageV2IT.java:174)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_NoSerialVersion", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 245, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 8.254, "errorDetails" : "Expected an InvalidRequest. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20183614058 ]", "errorStackTrace" : "java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch20183614058 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:240)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:212)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_PidMismatch(MNStorageV2IT.java:180)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 256, "name" : "testUpdateSystemMetadata_InvalidRequest_PidMismatch", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 245, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 8.254, "errorDetails" : "Expected an InvalidRequest. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361406956 ]", "errorStackTrace" : "java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: 0 Client_Error: class org.dataone.exceptions.MarshallingException: null [for host GET https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361406956 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:240)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:212)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_PidMismatch(MNStorageV2IT.java:180)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 256, "name" : "testUpdateSystemMetadata_InvalidRequest_PidMismatch", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 245, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 8.255, "errorDetails" : "Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:00:08 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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_PidMismatch2018361408172 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172' PATH_TRANSLATED '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41419' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868008311634' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868008311331' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868008310976' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868008311697' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fb9dbed0> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac52fb0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172 ]", "errorStackTrace" : "java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:00:08 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41419'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868008311634'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868008311331'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868008310976'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868008311697'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fb9dbed0>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac52fb0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_PidMismatch2018361408172 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:240)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_PidMismatch(UpdateSystemMetadataTestImplementations.java:212)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_PidMismatch(MNStorageV2IT.java:180)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 256, "name" : "testUpdateSystemMetadata_InvalidRequest_PidMismatch", "skipped" : False, "skippedMessage" : None, "status" : "FAILED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 7.044, "errorDetails" : "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 stripped-down html message body starting next line: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:00:15 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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_SysmetaUnmodified20183614015225 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225' PATH_TRANSLATED '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41457' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868015365271' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868015364975' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868015364616' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868015365332' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f5403f2a618> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac24830> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225 ]", "errorStackTrace" : "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 stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:00:15 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41457'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868015365271'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868015364975'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868015364616'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868015365332'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f5403f2a618>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac24830>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified20183614015225 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:276)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidSystemMetadata_SysmetaUnmodified(UpdateSystemMetadataTestImplementations.java:255)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_SysmetaUnmodified(MNStorageV2IT.java:186)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_InvalidRequest_SysmetaUnmodified", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 29.216, "errorDetails" : "org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:00:44 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testUpdateSystemMetadata_MutableRightsHolder_20183614044254' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.2752626308237669743.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.7654231573613543063.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '18984' CONTENT_TYPE 'multipart/form-data; boundary=rnqB0qrz_fKVotHa1SjhdE9tFSWNE3ZijSDi' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41538' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868044557347' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868044557105' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868044556737' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868044557409' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fad618a0> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53facf3f30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]", "errorStackTrace" : "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 stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:00:44 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testUpdateSystemMetadata_MutableRightsHolder_20183614044254'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.2752626308237669743.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.7654231573613543063.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '18984'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=rnqB0qrz_fKVotHa1SjhdE9tFSWNE3ZijSDi'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41538'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868044557347'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868044557105'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868044556737'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868044557409'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fad618a0>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53facf3f30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)\u000a\u0009at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableRightsHolder(MNStorageV2IT.java:192)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_MutableRightsHolder", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 28.115, "errorDetails" : "org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:01:12 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testUpdateSystemMetadata_MutableFormat_20183614112495' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.5975282913134655265.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.8676949469094652406.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '18980' CONTENT_TYPE 'multipart/form-data; boundary=zG4gshuX3vu4zP4ikBnug2Tb0W6fhBLlfCw_bi' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41576' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868072667999' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868072667734' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868072667363' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868072668061' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fabd9df8> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad9aa30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]", "errorStackTrace" : "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 stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:01:12 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testUpdateSystemMetadata_MutableFormat_20183614112495'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.5975282913134655265.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.8676949469094652406.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '18980'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=zG4gshuX3vu4zP4ikBnug2Tb0W6fhBLlfCw_bi'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41576'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868072667999'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868072667734'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868072667363'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868072668061'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fabd9df8>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad9aa30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)\u000a\u0009at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableFormat(MNStorageV2IT.java:198)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_MutableFormat", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 28.411, "errorDetails" : "org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:01:41 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testUpdateSystemMetadata_MutableAccessPolicy_20183614140936' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.1726029220442584834.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.8548713568787539996.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '18976' CONTENT_TYPE 'multipart/form-data; boundary=eKBlDufexslzbRAEUhkfQ3ImW3V9vjY8dM' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41631' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868101084027' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868101083719' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868101083355' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868101084084' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fada4d20> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac2afb0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]", "errorStackTrace" : "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 stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:01:41 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testUpdateSystemMetadata_MutableAccessPolicy_20183614140936'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.1726029220442584834.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.8548713568787539996.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '18976'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=eKBlDufexslzbRAEUhkfQ3ImW3V9vjY8dM'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41631'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868101084027'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868101083719'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868101083355'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868101084084'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fada4d20>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac2afb0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)\u000a\u0009at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableAccessPolicy(MNStorageV2IT.java:204)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_MutableAccessPolicy", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 28.429, "errorDetails" : "org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:02:09 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testUpdateSystemMetadata_MutableReplPolicy_2018361429200' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.1418012894812361042.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.8832076770205129571.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '18986' CONTENT_TYPE 'multipart/form-data; boundary=V9Y-2sy_jLGACiHDQ9Cd99G-VQSJJfFza_zJAp' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41663' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868129516567' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868129516243' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868129515827' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868129516636' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f54010cd780> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad05070> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]", "errorStackTrace" : "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 stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:02:09 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testUpdateSystemMetadata_MutableReplPolicy_2018361429200'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.1418012894812361042.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.8832076770205129571.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '18986'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=V9Y-2sy_jLGACiHDQ9Cd99G-VQSJJfFza_zJAp'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41663'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868129516567'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868129516243'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868129515827'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868129516636'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f54010cd780>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad05070>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)\u000a\u0009at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_MutableReplPolicy(MNStorageV2IT.java:210)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_MutableReplPolicy", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 0.001, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testSidUpdate", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 0.0, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testSidDelete", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 0, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 0.0, "errorDetails" : None, "errorStackTrace" : None, "failedSince" : 0, "name" : "testSidArchive", "skipped" : False, "skippedMessage" : None, "status" : "PASSED", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 6.845, "errorDetails" : "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 stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:02:16 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier_20183614216214' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.4181437803838277925.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.3320454398818360839.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '18987' CONTENT_TYPE 'multipart/form-data; boundary=Sj-wdrUAlsjD0ARSjb4d2-gVfyFIQrcWden' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41686' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868136359179' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868136358855' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868136358489' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868136359243' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f5408656030> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fac80970> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]", "errorStackTrace" : "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 stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:02:16 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier_20183614216214'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.4181437803838277925.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.3320454398818360839.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '18987'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=Sj-wdrUAlsjD0ARSjb4d2-gVfyFIQrcWden'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41686'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868136359179'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868136358855'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868136358489'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868136359243'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f5408656030>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fac80970>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:327)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(UpdateSystemMetadataTestImplementations.java:293)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier(MNStorageV2IT.java:241)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_InvalidRequest_ModifiedIdentifier", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 9.09, "errorDetails" : "Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:02:25 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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_ModifiedSize20183614225334 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334' PATH_TRANSLATED '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41707' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868145473097' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868145472781' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868145472426' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868145473170' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53faca7b28> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad90570> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334 ]", "errorStackTrace" : "java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:02:25 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41707'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868145473097'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868145472781'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868145472426'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868145473170'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53faca7b28>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad90570>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedSize20183614225334 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:367)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(UpdateSystemMetadataTestImplementations.java:337)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSize(MNStorageV2IT.java:247)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_InvalidRequest_ModifiedSize", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 7.049, "errorDetails" : "Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:02:32 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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_ModifiedChecksum20183614232279 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279' PATH_TRANSLATED '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41729' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868152522336' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868152521986' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868152521626' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868152522405' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fb9d6b70> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad798b0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279 ]", "errorStackTrace" : "java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:02:32 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41729'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868152522336'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868152521986'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868152521626'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868152522405'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fb9d6b70>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad798b0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum20183614232279 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:413)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(UpdateSystemMetadataTestImplementations.java:382)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum(MNStorageV2IT.java:253)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_InvalidRequest_ModifiedChecksum", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 6.193, "errorDetails" : "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 stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:02:38 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter20183614238545' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.3827182376534998737.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.2202212803473666383.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '18977' CONTENT_TYPE 'multipart/form-data; boundary=d1Gc1gdtFgijrTvRZxD4Bn6YR_Kfw2MPbjL' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41747' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868158693811' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868158693567' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868158693184' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868158693933' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f54010cf030> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f5416f95230> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]", "errorStackTrace" : "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 stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:02:38 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter20183614238545'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.3827182376534998737.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.2202212803473666383.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '18977'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=d1Gc1gdtFgijrTvRZxD4Bn6YR_Kfw2MPbjL'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41747'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868158693811'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868158693567'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868158693184'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868158693933'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f54010cf030>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f5416f95230>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:464)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(UpdateSystemMetadataTestImplementations.java:428)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter(MNStorageV2IT.java:259)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_InvalidRequest_ModifiedSubmitter", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 6.851, "errorDetails" : "Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:02:45 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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_20183614245429 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429' PATH_TRANSLATED '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41788' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868165568764' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868165568495' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868165568141' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868165568826' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f54010cfbb8> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fae960b0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429 ]", "errorStackTrace" : "java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:02:45 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41788'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868165568764'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868165568495'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868165568141'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868165568826'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f54010cfbb8>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fae960b0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded_20183614245429 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:502)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(UpdateSystemMetadataTestImplementations.java:474)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded(MNStorageV2IT.java:265)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_InvalidRequest_ModifiedDateUploaded", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 6.881, "errorDetails" : "Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:02:52 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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_20183614252309 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309' PATH_TRANSLATED '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41809' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868172447588' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868172447337' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868172446977' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868172447653' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fb9d6b70> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad95e30> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309 ]", "errorStackTrace" : "java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:02:52 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41809'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868172447588'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868172447337'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868172446977'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868172447653'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fb9d6b70>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad95e30>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN_20183614252309 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:545)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(UpdateSystemMetadataTestImplementations.java:517)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN(MNStorageV2IT.java:271)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_InvalidRequest_ModifiedOriginMN", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 6.793, "errorDetails" : "Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101 name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101 Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:02:59 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function get_meta at 0x7f53fb9d92a8> callback_args (u'testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101',) callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args (u'testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101',) view_func <function get_meta at 0x7f53fb9d92a8> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'> Environment: Request Method: GET Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101 Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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_NullOriginMN20183614259101 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST No POST data FILES No FILES data COOKIES No cookie data META Variable Value CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101' PATH_TRANSLATED '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41830' REQUEST_METHOD 'GET' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868179240665' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868179240363' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868179239998' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868179240727' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fb9d6b70> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad1e2b0> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101 ]", "errorStackTrace" : "java.lang.AssertionError: Expected an InvalidRequest. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000a InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a GET\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:02:59 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function get_meta at 0x7f53fb9d92a8>\u000a callback_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101',)\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a (u'testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101',)\u000a view_func\u000a <function get_meta at 0x7f53fb9d92a8>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: GET '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'>\u000a \u000aEnvironment:\u000aRequest Method: GET\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a No POST data\u000a FILES\u000a No FILES data\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41830'\u000a REQUEST_METHOD\u000a 'GET'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868179240665'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868179240363'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868179239998'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868179240727'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fb9d6b70>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad1e2b0>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/testUpdateSystemMetadata_InvalidRequest_NullOriginMN20183614259101 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:588)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(UpdateSystemMetadataTestImplementations.java:560)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_NullOriginMN(MNStorageV2IT.java:277)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_InvalidRequest_NullOriginMN", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "duration" : 7.488, "errorDetails" : "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 stripped-down html message body starting next line: InvalidToken at /v2/object name: InvalidToken errorCode: 401 detailCode: 0 description: Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Exception Type: InvalidToken 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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Exception Location: /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69 Python Executable: /var/local/dataone/gmn_venv/bin/python Python Version: 2.7.12 Python Path: ['/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/d1_gmn', '/var/local/dataone/gmn_venv/lib/python2.7/site-packages'] Server time: Mon, 5 Feb 2018 22:03:06 +0000 Traceback Switch to copy-and-paste view /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner This decorator is automatically applied to all middleware to ensure that no middleware leaks an exception and that the next middleware in the stack can rely on getting a response instead of an exception. """ @wraps(get_response, assigned=available_attrs(get_response)) def inner(request): try: response = get_response(request) ... except Exception as exc: response = response_for_exception(request, exc) return response return inner ▶ Local vars Variable Value exc InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken errorCode: 401 detailCode: 0 description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" "", identifier="None", nodeId="None", traceInformation="None") get_response <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>> request <D1WSGIRequest: POST '/mn/v2/object'> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response # Apply request middleware for middleware_method in self._request_middleware: response = middleware_method(request) if response: break if response is None: response = self._get_response(request) ... return response ▶ Local vars Variable Value middleware_method <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>> request <D1WSGIRequest: POST '/mn/v2/object'> response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response resolver_match = resolver.resolve(request.path_info) callback, callback_args, callback_kwargs = resolver_match request.resolver_match = resolver_match # Apply view middleware for middleware_method in self._view_middleware: response = middleware_method(request, callback, callback_args, callback_kwargs) ... if response: break if response is None: wrapped_callback = self.make_view_atomic(callback) try: ▶ Local vars Variable Value callback <function dispatch_object_list at 0x7f53fb9d07d0> callback_args () callback_kwargs {} middleware_method <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>> request <D1WSGIRequest: POST '/mn/v2/object'> resolver <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/> resolver_match ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[]) response None self <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view logging.info( u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"' .format( view_func.__name__, request.method, view_args, view_kwargs, request.path_info ) ) # logging.debug(request.headers) self.process_session(request) ... def process_session(self, request): # For simulating an HTTPS connection with client authentication when # debugging via regular HTTP, two mechanisms are supported. (1) A full # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> view_args () view_func <function dispatch_object_list at 0x7f53fb9d07d0> view_kwargs {} /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session # client side certificate can be included and (2) a list of subjects can be # included. Both use vendor specific extensions (HTTP headers that start # with the string "VENDOR_".) In some testing scenarios, it is convenient to # submit lists of subjects without having to generate certificates. In other # scenarios, it is desirable to simulate an HTTPS interaction as closely as # possible by providing a complete certificate. request.primary_subject_str, request.all_subjects_set = ( self.get_active_subject_set(request) ... ) def get_active_subject_set(self, request): """Get a set containing all subjects for which the current connection has been successfully authenticated """ ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set request.META['SSL_CLIENT_CERT'] = \\ self.pem_in_http_header_to_pem_in_string( request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE']) # Add subjects from any provided certificate and JWT and store them in # the Django request obj. cert_primary_str, cert_equivalent_set = ( d1_gmn.app.middleware.session_cert.get_subjects(request) ... ) jwt_subject_list = ( d1_gmn.app.middleware.session_jwt. validate_jwt_and_get_subject_list(request) ) primary_subject_str = cert_primary_str ▶ Local vars Variable Value request <D1WSGIRequest: POST '/mn/v2/object'> self <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990> /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects """ if _is_certificate_provided(request): try: return get_authenticated_subjects(request.META['SSL_CLIENT_CERT']) except Exception as e: raise d1_common.types.exceptions.InvalidToken( 0, u'Error extracting session from certificate. error="{}"'.format(str(e)) ... ) else: return d1_common.const.SUBJECT_PUBLIC, set() def get_authenticated_subjects(cert_pem): ▶ Local vars Variable Value e InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None") request <D1WSGIRequest: POST '/mn/v2/object'> Environment: Request Method: POST Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object Django Version: 1.11.6 Python Version: 2.7.12 Installed Applications: ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] Installed Middleware: ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') Traceback: File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner 41. 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/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view 47. self.process_session(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session 59. self.get_active_subject_set(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set 76. d1_gmn.app.middleware.session_cert.get_subjects(request) File \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>"" " Request information USER [unable to retrieve the current user] GET No GET data POST Variable Value pid u'testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId_2018361436552' FILES Variable Value sysmeta <InMemoryUploadedFile: mmp.output.849637846100243222.tmp (application/octet-stream)> object <InMemoryUploadedFile: mmp.output.5596991448392972805.tmp (application/octet-stream)> COOKIES No cookie data META Variable Value CONTENT_LENGTH '19000' CONTENT_TYPE 'multipart/form-data; boundary=qIClyPugWJmYPpEV2-qvUpx0reyBjZjmbXNKkiYT' CONTEXT_DOCUMENT_ROOT '/var/www/html' CONTEXT_PREFIX '' DOCUMENT_ROOT '/var/www/html' GATEWAY_INTERFACE 'CGI/1.1' HTTP_ACCEPT_ENCODING 'gzip,deflate' HTTP_CONNECTION 'Keep-Alive' HTTP_HOST 'pangaea-dev-orc-1.test.dataone.org' HTTP_USER_AGENT 'Apache-HttpClient/4.3.6 (java 1.5)' HTTP_VIA '1.1 localhost (Apache-HttpClient/4.3.6 (cache))' PATH_INFO u'/v2/object' PATH_TRANSLATED '/var/www/html/v2/object' QUERY_STRING '' REMOTE_ADDR '64.106.40.19' REMOTE_PORT '41853' REQUEST_METHOD 'POST' REQUEST_SCHEME 'https' REQUEST_URI '/mn/v2/object' SCRIPT_FILENAME '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py' SCRIPT_NAME u'/mn' SERVER_ADDR '160.36.13.167' SERVER_ADMIN 'email@monicaihli.com' SERVER_NAME 'pangaea-dev-orc-1.test.dataone.org' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SIGNATURE '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n' SERVER_SOFTWARE 'Apache/2.4.18 (Ubuntu)' SSL_CLIENT_CERT '-----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' SSL_SERVER_CERT '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n' SSL_TLS_SNI 'pangaea-dev-orc-1.test.dataone.org' apache.version (2, 4, 18) mod_wsgi.application_group '' mod_wsgi.callable_object 'application' mod_wsgi.daemon_connects '1' mod_wsgi.daemon_restarts '0' mod_wsgi.daemon_start '1517868186702947' mod_wsgi.enable_sendfile '0' mod_wsgi.handler_script '' mod_wsgi.input_chunked '0' mod_wsgi.listener_host '' mod_wsgi.listener_port '443' mod_wsgi.process_group 'gmn2' mod_wsgi.queue_start '1517868186702637' mod_wsgi.request_handler 'wsgi-script' mod_wsgi.request_start '1517868186702235' mod_wsgi.script_reloading '1' mod_wsgi.script_start '1517868186703013' mod_wsgi.version (4, 3, 0) wsgi.errors <mod_wsgi.Log object at 0x7f53fb9d6b70> wsgi.file_wrapper '' wsgi.input <mod_wsgi.Input object at 0x7f53fad63430> wsgi.multiprocess True wsgi.multithread True wsgi.run_once False wsgi.url_scheme 'https' wsgi.version (1, 0) Settings Using settings module d1_gmn.settings Setting Value ABSOLUTE_URL_OVERRIDES {} ADMINS (('My Name', 'my_address@my_email.tld'),) ALLOWED_HOSTS ['localhost', '127.0.0.1'] APPEND_SLASH True AUTHENTICATION_BACKENDS [u'django.contrib.auth.backends.ModelBackend'] AUTH_PASSWORD_VALIDATORS u'********************' AUTH_USER_MODEL u'auth.User' CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 3600}} CACHE_MIDDLEWARE_ALIAS u'default' CACHE_MIDDLEWARE_KEY_PREFIX u'********************' CACHE_MIDDLEWARE_SECONDS 600 CLIENT_CERT_PATH '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem' CLIENT_CERT_PRIVATE_KEY_PATH u'********************' CSRF_COOKIE_AGE 31449600 CSRF_COOKIE_DOMAIN None CSRF_COOKIE_HTTPONLY False CSRF_COOKIE_NAME u'csrftoken' CSRF_COOKIE_PATH u'/' CSRF_COOKIE_SECURE False CSRF_FAILURE_VIEW u'django.views.csrf.csrf_failure' CSRF_HEADER_NAME u'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS [] CSRF_USE_SESSIONS False DATABASES {'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': ''}} DATABASE_ROUTERS [] DATAONE_ROOT 'https://cn-sandbox.test.dataone.org/cn' DATAONE_TRUSTED_SUBJECTS set([]) DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS 1000 DATETIME_FORMAT u'N j, Y, P' DATETIME_INPUT_FORMATS [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'] DATE_FORMAT u'N j, Y' DATE_INPUT_FORMATS [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'] DEBUG True DEBUG_ALLOW_INTEGRATION_TESTS False DEBUG_ECHO_REQUEST False DEBUG_GMN True DEBUG_PROFILE_SQL False DEBUG_PROPAGATE_EXCEPTIONS False DEBUG_PYCHARM False DEBUG_PYCHARM_BIN 'pycharm.sh' DECIMAL_SEPARATOR u'.' DEFAULT_CHARSET u'utf-8' DEFAULT_CONTENT_TYPE u'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER u'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE u'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL u'webmaster@localhost' DEFAULT_INDEX_TABLESPACE u'' DEFAULT_TABLESPACE u'' DISALLOWED_USER_AGENTS [] EMAIL_BACKEND u'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST u'localhost' EMAIL_HOST_PASSWORD u'********************' EMAIL_HOST_USER u'' EMAIL_PORT 25 EMAIL_SSL_CERTFILE None EMAIL_SSL_KEYFILE u'********************' EMAIL_SUBJECT_PREFIX u'[Django] ' EMAIL_TIMEOUT None EMAIL_USE_LOCALTIME False EMAIL_USE_SSL False EMAIL_USE_TLS False FILE_CHARSET u'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS None FILE_UPLOAD_HANDLERS [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE 2621440 FILE_UPLOAD_PERMISSIONS None FILE_UPLOAD_TEMP_DIR None FIRST_DAY_OF_WEEK 0 FIXTURE_DIRS [] FORCE_SCRIPT_NAME None FORMAT_MODULE_PATH None FORM_RENDERER u'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS [] INSTALLED_APPS ['django.contrib.staticfiles', 'd1_gmn.app', 'd1_gmn.app.startup.GMNStartupChecks'] INTERNAL_IPS [] LANGUAGES [(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')] LANGUAGES_BIDI [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE 'en-us' LANGUAGE_COOKIE_AGE None LANGUAGE_COOKIE_DOMAIN None LANGUAGE_COOKIE_NAME u'django_language' LANGUAGE_COOKIE_PATH u'/' LOCALE_PATHS [] LOGGING {'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/local/lib/python2.7/site-packages/d1_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} LOGGING_CONFIG u'logging.config.dictConfig' LOGIN_REDIRECT_URL u'/accounts/profile/' LOGIN_URL u'/accounts/login/' LOGOUT_REDIRECT_URL None LOG_LEVEL 'DEBUG' LOG_PATH '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log' MANAGERS [] MAX_XML_DOCUMENT_SIZE 10485760 MEDIA_ROOT u'' MEDIA_URL '' MESSAGE_STORAGE u'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE None MIDDLEWARE_CLASSES ('d1_gmn.app.middleware.request_handler.RequestHandler', 'd1_gmn.app.middleware.exception_handler.ExceptionHandler', 'd1_gmn.app.middleware.response_handler.ResponseHandler', 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler', 'd1_gmn.app.middleware.view_handler.ViewHandler') MIGRATION_MODULES {} MONITOR True MONTH_DAY_FORMAT u'F j' NODE_BASEURL 'https://pangaea-dev-orc-1.test.dataone.org/mn' NODE_CONTACT_SUBJECT 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org' NODE_DESCRIPTION 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.' NODE_IDENTIFIER 'urn:node:mnTestPANGAEA' NODE_NAME 'Pangaea' NODE_REPLICATE False NODE_STATE 'up' NODE_SUBJECT 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org' NODE_SYNCHRONIZE True NODE_SYNC_SCHEDULE_HOUR '*' NODE_SYNC_SCHEDULE_MINUTE '42' NODE_SYNC_SCHEDULE_MONTH '*' NODE_SYNC_SCHEDULE_MONTHDAY '*' NODE_SYNC_SCHEDULE_SECOND '0' NODE_SYNC_SCHEDULE_WEEKDAY '?' NODE_SYNC_SCHEDULE_YEAR '*' NUMBER_GROUPING 0 NUM_CHUNK_BYTES 1048576 OBJECT_STORE_PATH '/var/local/dataone/gmn_object_store' PASSWORD_HASHERS u'********************' PASSWORD_RESET_TIMEOUT_DAYS u'********************' PREPEND_WWW False PROXY_MODE_BASIC_AUTH_ENABLED False PROXY_MODE_BASIC_AUTH_PASSWORD u'********************' PROXY_MODE_BASIC_AUTH_USERNAME '' PROXY_MODE_STREAM_TIMEOUT 30 PUBLIC_LOG_RECORDS True PUBLIC_OBJECT_LIST True REPLICATION_ALLOWEDNODE () REPLICATION_ALLOWEDOBJECTFORMAT () REPLICATION_ALLOW_ONLY_PUBLIC False REPLICATION_MAXOBJECTSIZE -1 REPLICATION_MAX_ATTEMPTS 24 REPLICATION_SPACEALLOCATED 10737418240 REQUIRE_WHITELIST_FOR_UPDATE True ROOT_URLCONF 'd1_gmn.app.urls' SECRET_KEY u'********************' SECURE_BROWSER_XSS_FILTER False SECURE_CONTENT_TYPE_NOSNIFF False SECURE_HSTS_INCLUDE_SUBDOMAINS False SECURE_HSTS_PRELOAD False SECURE_HSTS_SECONDS 0 SECURE_PROXY_SSL_HEADER None SECURE_REDIRECT_EXEMPT [] SECURE_SSL_HOST None SECURE_SSL_REDIRECT False SERVER_EMAIL u'root@localhost' SESSION_CACHE_ALIAS u'default' SESSION_COOKIE_AGE 1209600 SESSION_COOKIE_DOMAIN None SESSION_COOKIE_HTTPONLY True SESSION_COOKIE_NAME u'sessionid' SESSION_COOKIE_PATH u'/' SESSION_COOKIE_SECURE True SESSION_ENGINE u'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE False SESSION_FILE_PATH None SESSION_SAVE_EVERY_REQUEST False SESSION_SERIALIZER u'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE 'd1_gmn.settings' SHORT_DATETIME_FORMAT u'm/d/Y P' SHORT_DATE_FORMAT u'm/d/Y' SIGNING_BACKEND u'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS [] STAND_ALONE False STATICFILES_DIRS [] STATICFILES_FINDERS [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder'] STATICFILES_STORAGE u'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT None STATIC_URL '/static/' SYSMETA_REFRESH_MAX_ATTEMPTS 24 TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_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']}}] TEST_NON_SERIALIZED_APPS [] TEST_RUNNER u'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR u',' TIME_FORMAT u'P' TIME_INPUT_FORMATS [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE 'UTC' TRUST_CLIENT_AUTHORITATIVEMEMBERNODE True TRUST_CLIENT_DATESYSMETADATAMODIFIED True TRUST_CLIENT_DATEUPLOADED True TRUST_CLIENT_ORIGINMEMBERNODE True TRUST_CLIENT_SERIALVERSION False TRUST_CLIENT_SUBMITTER True USE_ETAGS False USE_I18N False USE_L10N False USE_THOUSAND_SEPARATOR False USE_TZ False USE_X_FORWARDED_HOST False USE_X_FORWARDED_PORT False WSGI_APPLICATION None X_FRAME_OPTIONS u'SAMEORIGIN' YEAR_MONTH_FORMAT u'F Y' You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code. [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]", "errorStackTrace" : "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 stripped-down html message body starting next line:\u000a InvalidToken at /v2/object\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request Method:\u000a POST\u000a Request URL:\u000a https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000a Django Version:\u000a 1.11.6\u000a Exception Type:\u000a InvalidToken\u000a Exception Value:\u000a name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Exception Location:\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69\u000a Python Executable:\u000a /var/local/dataone/gmn_venv/bin/python\u000a Python Version:\u000a 2.7.12\u000a Python Path:\u000a ['/var/local/dataone/gmn_venv/lib/python2.7',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-old',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',\u000a '/usr/lib/python2.7',\u000a '/usr/lib/python2.7/plat-x86_64-linux-gnu',\u000a '/usr/lib/python2.7/lib-tk',\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages']\u000a Server time:\u000a Mon, 5 Feb 2018 22:03:06 +0000\u000a Traceback \u000a Switch to copy-and-paste view\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner\u000a This decorator is automatically applied to all middleware to ensure that\u000a no middleware leaks an exception and that the next middleware in the stack\u000a can rely on getting a response instead of an exception.\u000a """\u000a @wraps(get_response, assigned=available_attrs(get_response))\u000a def inner(request):\u000a try:\u000a response = get_response(request) ...\u000a except Exception as exc:\u000a response = response_for_exception(request, exc)\u000a return response\u000a return inner\u000a ▶ Local vars\u000a Variable\u000a Value\u000a exc\u000a InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a"", identifier="None", nodeId="None", traceInformation="None")\u000a get_response\u000a <bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response\u000a # Apply request middleware\u000a for middleware_method in self._request_middleware:\u000a response = middleware_method(request)\u000a if response:\u000a break\u000a if response is None:\u000a response = self._get_response(request) ...\u000a return response\u000a ▶ Local vars\u000a Variable\u000a Value\u000a middleware_method\u000a <bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response\u000a resolver_match = resolver.resolve(request.path_info)\u000a callback, callback_args, callback_kwargs = resolver_match\u000a request.resolver_match = resolver_match\u000a # Apply view middleware\u000a for middleware_method in self._view_middleware:\u000a response = middleware_method(request, callback, callback_args, callback_kwargs) ...\u000a if response:\u000a break\u000a if response is None:\u000a wrapped_callback = self.make_view_atomic(callback)\u000a try:\u000a ▶ Local vars\u000a Variable\u000a Value\u000a callback\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a callback_args\u000a ()\u000a callback_kwargs\u000a {}\u000a middleware_method\u000a <bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a resolver\u000a <RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>\u000a resolver_match\u000a ResolverMatch(func=d1_gmn.app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])\u000a response\u000a None\u000a self\u000a <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view\u000a logging.info(\u000a u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'\u000a .format(\u000a view_func.__name__, request.method, view_args, view_kwargs, request.path_info\u000a )\u000a )\u000a # logging.debug(request.headers)\u000a self.process_session(request) ...\u000a def process_session(self, request):\u000a # For simulating an HTTPS connection with client authentication when\u000a # debugging via regular HTTP, two mechanisms are supported. (1) A full\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a view_args\u000a ()\u000a view_func\u000a <function dispatch_object_list at 0x7f53fb9d07d0>\u000a view_kwargs\u000a {}\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session\u000a # client side certificate can be included and (2) a list of subjects can be\u000a # included. Both use vendor specific extensions (HTTP headers that start\u000a # with the string "VENDOR_".) In some testing scenarios, it is convenient to\u000a # submit lists of subjects without having to generate certificates. In other\u000a # scenarios, it is desirable to simulate an HTTPS interaction as closely as\u000a # possible by providing a complete certificate.\u000a request.primary_subject_str, request.all_subjects_set = (\u000a self.get_active_subject_set(request) ...\u000a )\u000a def get_active_subject_set(self, request):\u000a """Get a set containing all subjects for which the current connection has\u000a been successfully authenticated\u000a """\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set\u000a request.META['SSL_CLIENT_CERT'] = \\\u000a self.pem_in_http_header_to_pem_in_string(\u000a request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])\u000a # Add subjects from any provided certificate and JWT and store them in\u000a # the Django request obj.\u000a cert_primary_str, cert_equivalent_set = (\u000a d1_gmn.app.middleware.session_cert.get_subjects(request) ...\u000a )\u000a jwt_subject_list = (\u000a d1_gmn.app.middleware.session_jwt.\u000a validate_jwt_and_get_subject_list(request)\u000a )\u000a primary_subject_str = cert_primary_str\u000a ▶ Local vars\u000a Variable\u000a Value\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a self\u000a <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>\u000a /var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects\u000a """\u000a if _is_certificate_provided(request):\u000a try:\u000a return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])\u000a except Exception as e:\u000a raise d1_common.types.exceptions.InvalidToken(\u000a 0,\u000a u'Error extracting session from certificate. error="{}"'.format(str(e)) ...\u000a )\u000a else:\u000a return d1_common.const.SUBJECT_PUBLIC, set()\u000a def get_authenticated_subjects(cert_pem):\u000a ▶ Local vars\u000a Variable\u000a Value\u000a e\u000a InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")\u000a request\u000a <D1WSGIRequest: POST '/mn/v2/object'>\u000a \u000aEnvironment:\u000aRequest Method: POST\u000aRequest URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object\u000aDjango Version: 1.11.6\u000aPython Version: 2.7.12\u000aInstalled Applications:\u000a['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000aInstalled Middleware:\u000a('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000aTraceback:\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py\" in inner\u000a 41. response = get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _legacy_get_response\u000a 249. response = self._get_response(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py\" in _get_response\u000a 178. response = middleware_method(request, callback, callback_args, callback_kwargs)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_view\u000a 47. self.process_session(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in process_session\u000a 59. self.get_active_subject_set(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py\" in get_active_subject_set\u000a 76. d1_gmn.app.middleware.session_cert.get_subjects(request)\u000aFile \"/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py\" in get_subjects\u000a 69. u'Error extracting session from certificate. error="{}"'.format(str(e))\u000aException Type: InvalidToken at /v2/object\u000aException Value: name: InvalidToken\u000aerrorCode: 401\u000adetailCode: 0\u000adescription:\u000a Error extracting session from certificate. error="name: InvalidToken\u000a errorCode: 401\u000a detailCode: 0\u000a description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""\u000a "\u000a Request information\u000a USER\u000a [unable to retrieve the current user]\u000a GET\u000a No GET data\u000a POST\u000a Variable\u000a Value\u000a pid\u000a u'testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId_2018361436552'\u000a FILES\u000a Variable\u000a Value\u000a sysmeta\u000a <InMemoryUploadedFile: mmp.output.849637846100243222.tmp (application/octet-stream)>\u000a object\u000a <InMemoryUploadedFile: mmp.output.5596991448392972805.tmp (application/octet-stream)>\u000a COOKIES\u000a No cookie data\u000a META\u000a Variable\u000a Value\u000a CONTENT_LENGTH\u000a '19000'\u000a CONTENT_TYPE\u000a 'multipart/form-data; boundary=qIClyPugWJmYPpEV2-qvUpx0reyBjZjmbXNKkiYT'\u000a CONTEXT_DOCUMENT_ROOT\u000a '/var/www/html'\u000a CONTEXT_PREFIX\u000a ''\u000a DOCUMENT_ROOT\u000a '/var/www/html'\u000a GATEWAY_INTERFACE\u000a 'CGI/1.1'\u000a HTTP_ACCEPT_ENCODING\u000a 'gzip,deflate'\u000a HTTP_CONNECTION\u000a 'Keep-Alive'\u000a HTTP_HOST\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a HTTP_USER_AGENT\u000a 'Apache-HttpClient/4.3.6 (java 1.5)'\u000a HTTP_VIA\u000a '1.1 localhost (Apache-HttpClient/4.3.6 (cache))'\u000a PATH_INFO\u000a u'/v2/object'\u000a PATH_TRANSLATED\u000a '/var/www/html/v2/object'\u000a QUERY_STRING\u000a ''\u000a REMOTE_ADDR\u000a '64.106.40.19'\u000a REMOTE_PORT\u000a '41853'\u000a REQUEST_METHOD\u000a 'POST'\u000a REQUEST_SCHEME\u000a 'https'\u000a REQUEST_URI\u000a '/mn/v2/object'\u000a SCRIPT_FILENAME\u000a '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'\u000a SCRIPT_NAME\u000a u'/mn'\u000a SERVER_ADDR\u000a '160.36.13.167'\u000a SERVER_ADMIN\u000a 'email@monicaihli.com'\u000a SERVER_NAME\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a SERVER_PORT\u000a '443'\u000a SERVER_PROTOCOL\u000a 'HTTP/1.1'\u000a SERVER_SIGNATURE\u000a '<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\\n'\u000a SERVER_SOFTWARE\u000a 'Apache/2.4.18 (Ubuntu)'\u000a SSL_CLIENT_CERT\u000a '-----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'\u000a SSL_SERVER_CERT\u000a '-----BEGIN CERTIFICATE-----\\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\\n-----END CERTIFICATE-----\\n'\u000a SSL_TLS_SNI\u000a 'pangaea-dev-orc-1.test.dataone.org'\u000a apache.version\u000a (2, 4, 18)\u000a mod_wsgi.application_group\u000a ''\u000a mod_wsgi.callable_object\u000a 'application'\u000a mod_wsgi.daemon_connects\u000a '1'\u000a mod_wsgi.daemon_restarts\u000a '0'\u000a mod_wsgi.daemon_start\u000a '1517868186702947'\u000a mod_wsgi.enable_sendfile\u000a '0'\u000a mod_wsgi.handler_script\u000a ''\u000a mod_wsgi.input_chunked\u000a '0'\u000a mod_wsgi.listener_host\u000a ''\u000a mod_wsgi.listener_port\u000a '443'\u000a mod_wsgi.process_group\u000a 'gmn2'\u000a mod_wsgi.queue_start\u000a '1517868186702637'\u000a mod_wsgi.request_handler\u000a 'wsgi-script'\u000a mod_wsgi.request_start\u000a '1517868186702235'\u000a mod_wsgi.script_reloading\u000a '1'\u000a mod_wsgi.script_start\u000a '1517868186703013'\u000a mod_wsgi.version\u000a (4, 3, 0)\u000a wsgi.errors\u000a <mod_wsgi.Log object at 0x7f53fb9d6b70>\u000a wsgi.file_wrapper\u000a ''\u000a wsgi.input\u000a <mod_wsgi.Input object at 0x7f53fad63430>\u000a wsgi.multiprocess\u000a True\u000a wsgi.multithread\u000a True\u000a wsgi.run_once\u000a False\u000a wsgi.url_scheme\u000a 'https'\u000a wsgi.version\u000a (1, 0)\u000a Settings\u000a Using settings module d1_gmn.settings\u000a Setting\u000a Value\u000a ABSOLUTE_URL_OVERRIDES\u000a {}\u000a ADMINS\u000a (('My Name', 'my_address@my_email.tld'),)\u000a ALLOWED_HOSTS\u000a ['localhost', '127.0.0.1']\u000a APPEND_SLASH\u000a True\u000a AUTHENTICATION_BACKENDS\u000a [u'django.contrib.auth.backends.ModelBackend']\u000a AUTH_PASSWORD_VALIDATORS\u000a u'********************'\u000a AUTH_USER_MODEL\u000a u'auth.User'\u000a CACHES\u000a {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',\u000a 'TIMEOUT': 3600}}\u000a CACHE_MIDDLEWARE_ALIAS\u000a u'default'\u000a CACHE_MIDDLEWARE_KEY_PREFIX\u000a u'********************'\u000a CACHE_MIDDLEWARE_SECONDS\u000a 600\u000a CLIENT_CERT_PATH\u000a '/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'\u000a CLIENT_CERT_PRIVATE_KEY_PATH\u000a u'********************'\u000a CSRF_COOKIE_AGE\u000a 31449600\u000a CSRF_COOKIE_DOMAIN\u000a None\u000a CSRF_COOKIE_HTTPONLY\u000a False\u000a CSRF_COOKIE_NAME\u000a u'csrftoken'\u000a CSRF_COOKIE_PATH\u000a u'/'\u000a CSRF_COOKIE_SECURE\u000a False\u000a CSRF_FAILURE_VIEW\u000a u'django.views.csrf.csrf_failure'\u000a CSRF_HEADER_NAME\u000a u'HTTP_X_CSRFTOKEN'\u000a CSRF_TRUSTED_ORIGINS\u000a []\u000a CSRF_USE_SESSIONS\u000a False\u000a DATABASES\u000a {'default': {'ATOMIC_REQUESTS': True,\u000a 'AUTOCOMMIT': True,\u000a 'CONN_MAX_AGE': 0,\u000a 'ENGINE': 'django.db.backends.postgresql_psycopg2',\u000a 'HOST': '',\u000a 'NAME': 'gmn2',\u000a 'OPTIONS': {},\u000a 'PASSWORD': u'********************',\u000a 'PORT': '',\u000a 'TEST': {'CHARSET': None,\u000a 'COLLATION': None,\u000a 'MIRROR': None,\u000a 'NAME': None},\u000a 'TIME_ZONE': None,\u000a 'USER': ''}}\u000a DATABASE_ROUTERS\u000a []\u000a DATAONE_ROOT\u000a 'https://cn-sandbox.test.dataone.org/cn'\u000a DATAONE_TRUSTED_SUBJECTS\u000a set([])\u000a DATA_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a DATA_UPLOAD_MAX_NUMBER_FIELDS\u000a 1000\u000a DATETIME_FORMAT\u000a u'N j, Y, P'\u000a DATETIME_INPUT_FORMATS\u000a [u'%Y-%m-%d %H:%M:%S',\u000a u'%Y-%m-%d %H:%M:%S.%f',\u000a u'%Y-%m-%d %H:%M',\u000a u'%Y-%m-%d',\u000a u'%m/%d/%Y %H:%M:%S',\u000a u'%m/%d/%Y %H:%M:%S.%f',\u000a u'%m/%d/%Y %H:%M',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y %H:%M:%S',\u000a u'%m/%d/%y %H:%M:%S.%f',\u000a u'%m/%d/%y %H:%M',\u000a u'%m/%d/%y']\u000a DATE_FORMAT\u000a u'N j, Y'\u000a DATE_INPUT_FORMATS\u000a [u'%Y-%m-%d',\u000a u'%m/%d/%Y',\u000a u'%m/%d/%y',\u000a u'%b %d %Y',\u000a u'%b %d, %Y',\u000a u'%d %b %Y',\u000a u'%d %b, %Y',\u000a u'%B %d %Y',\u000a u'%B %d, %Y',\u000a u'%d %B %Y',\u000a u'%d %B, %Y']\u000a DEBUG\u000a True\u000a DEBUG_ALLOW_INTEGRATION_TESTS\u000a False\u000a DEBUG_ECHO_REQUEST\u000a False\u000a DEBUG_GMN\u000a True\u000a DEBUG_PROFILE_SQL\u000a False\u000a DEBUG_PROPAGATE_EXCEPTIONS\u000a False\u000a DEBUG_PYCHARM\u000a False\u000a DEBUG_PYCHARM_BIN\u000a 'pycharm.sh'\u000a DECIMAL_SEPARATOR\u000a u'.'\u000a DEFAULT_CHARSET\u000a u'utf-8'\u000a DEFAULT_CONTENT_TYPE\u000a u'text/html'\u000a DEFAULT_EXCEPTION_REPORTER_FILTER\u000a u'django.views.debug.SafeExceptionReporterFilter'\u000a DEFAULT_FILE_STORAGE\u000a u'django.core.files.storage.FileSystemStorage'\u000a DEFAULT_FROM_EMAIL\u000a u'webmaster@localhost'\u000a DEFAULT_INDEX_TABLESPACE\u000a u''\u000a DEFAULT_TABLESPACE\u000a u''\u000a DISALLOWED_USER_AGENTS\u000a []\u000a EMAIL_BACKEND\u000a u'django.core.mail.backends.smtp.EmailBackend'\u000a EMAIL_HOST\u000a u'localhost'\u000a EMAIL_HOST_PASSWORD\u000a u'********************'\u000a EMAIL_HOST_USER\u000a u''\u000a EMAIL_PORT\u000a 25\u000a EMAIL_SSL_CERTFILE\u000a None\u000a EMAIL_SSL_KEYFILE\u000a u'********************'\u000a EMAIL_SUBJECT_PREFIX\u000a u'[Django] '\u000a EMAIL_TIMEOUT\u000a None\u000a EMAIL_USE_LOCALTIME\u000a False\u000a EMAIL_USE_SSL\u000a False\u000a EMAIL_USE_TLS\u000a False\u000a FILE_CHARSET\u000a u'utf-8'\u000a FILE_UPLOAD_DIRECTORY_PERMISSIONS\u000a None\u000a FILE_UPLOAD_HANDLERS\u000a [u'django.core.files.uploadhandler.MemoryFileUploadHandler',\u000a u'django.core.files.uploadhandler.TemporaryFileUploadHandler']\u000a FILE_UPLOAD_MAX_MEMORY_SIZE\u000a 2621440\u000a FILE_UPLOAD_PERMISSIONS\u000a None\u000a FILE_UPLOAD_TEMP_DIR\u000a None\u000a FIRST_DAY_OF_WEEK\u000a 0\u000a FIXTURE_DIRS\u000a []\u000a FORCE_SCRIPT_NAME\u000a None\u000a FORMAT_MODULE_PATH\u000a None\u000a FORM_RENDERER\u000a u'django.forms.renderers.DjangoTemplates'\u000a IGNORABLE_404_URLS\u000a []\u000a INSTALLED_APPS\u000a ['django.contrib.staticfiles',\u000a 'd1_gmn.app',\u000a 'd1_gmn.app.startup.GMNStartupChecks']\u000a INTERNAL_IPS\u000a []\u000a LANGUAGES\u000a [(u'af', u'Afrikaans'),\u000a (u'ar', u'Arabic'),\u000a (u'ast', u'Asturian'),\u000a (u'az', u'Azerbaijani'),\u000a (u'bg', u'Bulgarian'),\u000a (u'be', u'Belarusian'),\u000a (u'bn', u'Bengali'),\u000a (u'br', u'Breton'),\u000a (u'bs', u'Bosnian'),\u000a (u'ca', u'Catalan'),\u000a (u'cs', u'Czech'),\u000a (u'cy', u'Welsh'),\u000a (u'da', u'Danish'),\u000a (u'de', u'German'),\u000a (u'dsb', u'Lower Sorbian'),\u000a (u'el', u'Greek'),\u000a (u'en', u'English'),\u000a (u'en-au', u'Australian English'),\u000a (u'en-gb', u'British English'),\u000a (u'eo', u'Esperanto'),\u000a (u'es', u'Spanish'),\u000a (u'es-ar', u'Argentinian Spanish'),\u000a (u'es-co', u'Colombian Spanish'),\u000a (u'es-mx', u'Mexican Spanish'),\u000a (u'es-ni', u'Nicaraguan Spanish'),\u000a (u'es-ve', u'Venezuelan Spanish'),\u000a (u'et', u'Estonian'),\u000a (u'eu', u'Basque'),\u000a (u'fa', u'Persian'),\u000a (u'fi', u'Finnish'),\u000a (u'fr', u'French'),\u000a (u'fy', u'Frisian'),\u000a (u'ga', u'Irish'),\u000a (u'gd', u'Scottish Gaelic'),\u000a (u'gl', u'Galician'),\u000a (u'he', u'Hebrew'),\u000a (u'hi', u'Hindi'),\u000a (u'hr', u'Croatian'),\u000a (u'hsb', u'Upper Sorbian'),\u000a (u'hu', u'Hungarian'),\u000a (u'ia', u'Interlingua'),\u000a (u'id', u'Indonesian'),\u000a (u'io', u'Ido'),\u000a (u'is', u'Icelandic'),\u000a (u'it', u'Italian'),\u000a (u'ja', u'Japanese'),\u000a (u'ka', u'Georgian'),\u000a (u'kk', u'Kazakh'),\u000a (u'km', u'Khmer'),\u000a (u'kn', u'Kannada'),\u000a (u'ko', u'Korean'),\u000a (u'lb', u'Luxembourgish'),\u000a (u'lt', u'Lithuanian'),\u000a (u'lv', u'Latvian'),\u000a (u'mk', u'Macedonian'),\u000a (u'ml', u'Malayalam'),\u000a (u'mn', u'Mongolian'),\u000a (u'mr', u'Marathi'),\u000a (u'my', u'Burmese'),\u000a (u'nb', u'Norwegian Bokm\\xe5l'),\u000a (u'ne', u'Nepali'),\u000a (u'nl', u'Dutch'),\u000a (u'nn', u'Norwegian Nynorsk'),\u000a (u'os', u'Ossetic'),\u000a (u'pa', u'Punjabi'),\u000a (u'pl', u'Polish'),\u000a (u'pt', u'Portuguese'),\u000a (u'pt-br', u'Brazilian Portuguese'),\u000a (u'ro', u'Romanian'),\u000a (u'ru', u'Russian'),\u000a (u'sk', u'Slovak'),\u000a (u'sl', u'Slovenian'),\u000a (u'sq', u'Albanian'),\u000a (u'sr', u'Serbian'),\u000a (u'sr-latn', u'Serbian Latin'),\u000a (u'sv', u'Swedish'),\u000a (u'sw', u'Swahili'),\u000a (u'ta', u'Tamil'),\u000a (u'te', u'Telugu'),\u000a (u'th', u'Thai'),\u000a (u'tr', u'Turkish'),\u000a (u'tt', u'Tatar'),\u000a (u'udm', u'Udmurt'),\u000a (u'uk', u'Ukrainian'),\u000a (u'ur', u'Urdu'),\u000a (u'vi', u'Vietnamese'),\u000a (u'zh-hans', u'Simplified Chinese'),\u000a (u'zh-hant', u'Traditional Chinese')]\u000a LANGUAGES_BIDI\u000a [u'he', u'ar', u'fa', u'ur']\u000a LANGUAGE_CODE\u000a 'en-us'\u000a LANGUAGE_COOKIE_AGE\u000a None\u000a LANGUAGE_COOKIE_DOMAIN\u000a None\u000a LANGUAGE_COOKIE_NAME\u000a u'django_language'\u000a LANGUAGE_COOKIE_PATH\u000a u'/'\u000a LOCALE_PATHS\u000a []\u000a LOGGING\u000a {'disable_existing_loggers': True,\u000a 'formatters': {'simple': {'format': '%(levelname)s %(message)s'},\u000a 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',\u000a 'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},\u000a 'handlers': {'file': {'class': 'logging.FileHandler',\u000a 'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',\u000a 'formatter': 'verbose',\u000a 'level': 'DEBUG'},\u000a 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},\u000a 'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},\u000a 'django': {'handlers': ['file'],\u000a 'level': 'DEBUG',\u000a 'propagate': False},\u000a 'django.db.backends': {'handlers': ['null'],\u000a 'level': 'WARNING',\u000a 'propagate': False}},\u000a 'version': 1}\u000a LOGGING_CONFIG\u000a u'logging.config.dictConfig'\u000a LOGIN_REDIRECT_URL\u000a u'/accounts/profile/'\u000a LOGIN_URL\u000a u'/accounts/login/'\u000a LOGOUT_REDIRECT_URL\u000a None\u000a LOG_LEVEL\u000a 'DEBUG'\u000a LOG_PATH\u000a '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'\u000a MANAGERS\u000a []\u000a MAX_XML_DOCUMENT_SIZE\u000a 10485760\u000a MEDIA_ROOT\u000a u''\u000a MEDIA_URL\u000a ''\u000a MESSAGE_STORAGE\u000a u'django.contrib.messages.storage.fallback.FallbackStorage'\u000a MIDDLEWARE\u000a None\u000a MIDDLEWARE_CLASSES\u000a ('d1_gmn.app.middleware.request_handler.RequestHandler',\u000a 'd1_gmn.app.middleware.exception_handler.ExceptionHandler',\u000a 'd1_gmn.app.middleware.response_handler.ResponseHandler',\u000a 'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',\u000a 'd1_gmn.app.middleware.view_handler.ViewHandler')\u000a MIGRATION_MODULES\u000a {}\u000a MONITOR\u000a True\u000a MONTH_DAY_FORMAT\u000a u'F j'\u000a NODE_BASEURL\u000a 'https://pangaea-dev-orc-1.test.dataone.org/mn'\u000a NODE_CONTACT_SUBJECT\u000a 'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'\u000a NODE_DESCRIPTION\u000a 'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'\u000a NODE_IDENTIFIER\u000a 'urn:node:mnTestPANGAEA'\u000a NODE_NAME\u000a 'Pangaea'\u000a NODE_REPLICATE\u000a False\u000a NODE_STATE\u000a 'up'\u000a NODE_SUBJECT\u000a 'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'\u000a NODE_SYNCHRONIZE\u000a True\u000a NODE_SYNC_SCHEDULE_HOUR\u000a '*'\u000a NODE_SYNC_SCHEDULE_MINUTE\u000a '42'\u000a NODE_SYNC_SCHEDULE_MONTH\u000a '*'\u000a NODE_SYNC_SCHEDULE_MONTHDAY\u000a '*'\u000a NODE_SYNC_SCHEDULE_SECOND\u000a '0'\u000a NODE_SYNC_SCHEDULE_WEEKDAY\u000a '?'\u000a NODE_SYNC_SCHEDULE_YEAR\u000a '*'\u000a NUMBER_GROUPING\u000a 0\u000a NUM_CHUNK_BYTES\u000a 1048576\u000a OBJECT_STORE_PATH\u000a '/var/local/dataone/gmn_object_store'\u000a PASSWORD_HASHERS\u000a u'********************'\u000a PASSWORD_RESET_TIMEOUT_DAYS\u000a u'********************'\u000a PREPEND_WWW\u000a False\u000a PROXY_MODE_BASIC_AUTH_ENABLED\u000a False\u000a PROXY_MODE_BASIC_AUTH_PASSWORD\u000a u'********************'\u000a PROXY_MODE_BASIC_AUTH_USERNAME\u000a ''\u000a PROXY_MODE_STREAM_TIMEOUT\u000a 30\u000a PUBLIC_LOG_RECORDS\u000a True\u000a PUBLIC_OBJECT_LIST\u000a True\u000a REPLICATION_ALLOWEDNODE\u000a ()\u000a REPLICATION_ALLOWEDOBJECTFORMAT\u000a ()\u000a REPLICATION_ALLOW_ONLY_PUBLIC\u000a False\u000a REPLICATION_MAXOBJECTSIZE\u000a -1\u000a REPLICATION_MAX_ATTEMPTS\u000a 24\u000a REPLICATION_SPACEALLOCATED\u000a 10737418240\u000a REQUIRE_WHITELIST_FOR_UPDATE\u000a True\u000a ROOT_URLCONF\u000a 'd1_gmn.app.urls'\u000a SECRET_KEY\u000a u'********************'\u000a SECURE_BROWSER_XSS_FILTER\u000a False\u000a SECURE_CONTENT_TYPE_NOSNIFF\u000a False\u000a SECURE_HSTS_INCLUDE_SUBDOMAINS\u000a False\u000a SECURE_HSTS_PRELOAD\u000a False\u000a SECURE_HSTS_SECONDS\u000a 0\u000a SECURE_PROXY_SSL_HEADER\u000a None\u000a SECURE_REDIRECT_EXEMPT\u000a []\u000a SECURE_SSL_HOST\u000a None\u000a SECURE_SSL_REDIRECT\u000a False\u000a SERVER_EMAIL\u000a u'root@localhost'\u000a SESSION_CACHE_ALIAS\u000a u'default'\u000a SESSION_COOKIE_AGE\u000a 1209600\u000a SESSION_COOKIE_DOMAIN\u000a None\u000a SESSION_COOKIE_HTTPONLY\u000a True\u000a SESSION_COOKIE_NAME\u000a u'sessionid'\u000a SESSION_COOKIE_PATH\u000a u'/'\u000a SESSION_COOKIE_SECURE\u000a True\u000a SESSION_ENGINE\u000a u'django.contrib.sessions.backends.db'\u000a SESSION_EXPIRE_AT_BROWSER_CLOSE\u000a False\u000a SESSION_FILE_PATH\u000a None\u000a SESSION_SAVE_EVERY_REQUEST\u000a False\u000a SESSION_SERIALIZER\u000a u'django.contrib.sessions.serializers.JSONSerializer'\u000a SETTINGS_MODULE\u000a 'd1_gmn.settings'\u000a SHORT_DATETIME_FORMAT\u000a u'm/d/Y P'\u000a SHORT_DATE_FORMAT\u000a u'm/d/Y'\u000a SIGNING_BACKEND\u000a u'django.core.signing.TimestampSigner'\u000a SILENCED_SYSTEM_CHECKS\u000a []\u000a STAND_ALONE\u000a False\u000a STATICFILES_DIRS\u000a []\u000a STATICFILES_FINDERS\u000a [u'django.contrib.staticfiles.finders.FileSystemFinder',\u000a u'django.contrib.staticfiles.finders.AppDirectoriesFinder']\u000a STATICFILES_STORAGE\u000a u'django.contrib.staticfiles.storage.StaticFilesStorage'\u000a STATIC_ROOT\u000a None\u000a STATIC_URL\u000a '/static/'\u000a SYSMETA_REFRESH_MAX_ATTEMPTS\u000a 24\u000a TEMPLATES\u000a [{'BACKEND': 'django.template.backends.django.DjangoTemplates',\u000a 'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],\u000a 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',\u000a 'django.template.context_processors.debug',\u000a 'django.template.context_processors.i18n',\u000a 'django.template.context_processors.media',\u000a 'django.template.context_processors.static',\u000a 'django.template.context_processors.tz',\u000a 'django.contrib.messages.context_processors.messages'],\u000a 'loaders': ['django.template.loaders.filesystem.Loader']}}]\u000a TEST_NON_SERIALIZED_APPS\u000a []\u000a TEST_RUNNER\u000a u'django.test.runner.DiscoverRunner'\u000a THOUSAND_SEPARATOR\u000a u','\u000a TIME_FORMAT\u000a u'P'\u000a TIME_INPUT_FORMATS\u000a [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']\u000a TIME_ZONE\u000a 'UTC'\u000a TRUST_CLIENT_AUTHORITATIVEMEMBERNODE\u000a True\u000a TRUST_CLIENT_DATESYSMETADATAMODIFIED\u000a True\u000a TRUST_CLIENT_DATEUPLOADED\u000a True\u000a TRUST_CLIENT_ORIGINMEMBERNODE\u000a True\u000a TRUST_CLIENT_SERIALVERSION\u000a False\u000a TRUST_CLIENT_SUBMITTER\u000a True\u000a USE_ETAGS\u000a False\u000a USE_I18N\u000a False\u000a USE_L10N\u000a False\u000a USE_THOUSAND_SEPARATOR\u000a False\u000a USE_TZ\u000a False\u000a USE_X_FORWARDED_HOST\u000a False\u000a USE_X_FORWARDED_PORT\u000a False\u000a WSGI_APPLICATION\u000a None\u000a X_FRAME_OPTIONS\u000a u'SAMEORIGIN'\u000a YEAR_MONTH_FORMAT\u000a u'F Y'\u000a You're seeing this error because you have DEBUG = True in your\u000a Django settings file. Change that to False, and Django will\u000a display a standard page generated by the handler for this status code.\u000a [for host https://pangaea-dev-orc-1.test.dataone.org/mn/v2 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:651)\u000a\u0009at org.dataone.integration.it.testImplementations.UpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(UpdateSystemMetadataTestImplementations.java:603)\u000a\u0009at org.dataone.integration.it.apiTests.MNStorageV2IT.testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId(MNStorageV2IT.java:283)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testUpdateSystemMetadata_InvalidRequest_ModifiedSeriesId", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None } ], "duration" : 603.972, "enclosingBlockNames" : [ ], "enclosingBlocks" : [ ], "id" : None, "name" : "org.dataone.integration.it.apiTests.MNStorageV2IT", "nodeId" : None, "stderr" : None, "stdout" : None, "timestamp" : None }, { "cases" : [ { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNViewV2IT", "duration" : 9.07, "errorDetails" : "Expected a NotAuthorized exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at email@monicaihli.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443 from : POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testView_NotAuthorized_2018361425229; FilePart:object = /tmp/mmp.output.6055435186168240548.tmp (17181 bytes); FilePart:sysmeta = /tmp/mmp.output.8710844503044528365.tmp (1069 bytes); [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testView_NotAuthorized_2018361425229; FilePart:object = /tmp/mmp.output.6055435186168240548.tmp (17181 bytes); FilePart:sysmeta = /tmp/mmp.output.8710844503044528365.tmp (1069 bytes); ]", "errorStackTrace" : "java.lang.AssertionError: Expected a NotAuthorized exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000aInternal Server Error\u000aThe server encountered an internal error or\u000amisconfiguration and was unable to complete\u000ayour request.\u000aPlease contact the server administrator at \u000a email@monicaihli.com to inform them of the time this error occurred,\u000a and the actions you performed just before this error.\u000aMore information about this error may be available\u000ain the server error log.\u000aApache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443\u000afrom : POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testView_NotAuthorized_2018361425229; FilePart:object = /tmp/mmp.output.6055435186168240548.tmp (17181 bytes); FilePart:sysmeta = /tmp/mmp.output.8710844503044528365.tmp (1069 bytes); [for host POST https://pangaea-dev-orc-1.test.dataone.org/mn/v2/object; MMP message has: ParamPart:pid = testView_NotAuthorized_2018361425229; FilePart:object = /tmp/mmp.output.6055435186168240548.tmp (17181 bytes); FilePart:sysmeta = /tmp/mmp.output.8710844503044528365.tmp (1069 bytes); ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.ViewTestImplementations.testView_NotAuthorized(ViewTestImplementations.java:69)\u000a\u0009at org.dataone.integration.it.testImplementations.ViewTestImplementations.testView_NotAuthorized(ViewTestImplementations.java:44)\u000a\u0009at org.dataone.integration.it.apiTests.MNViewV2IT.testView_NotAuthorized(MNViewV2IT.java:40)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testView_NotAuthorized", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNViewV2IT", "duration" : 6.513, "errorDetails" : "Expected an InvalidRequest exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at email@monicaihli.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443 [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/views/bogus_theme_yaaaay/testView_InvalidTheme_20183614258752 ]", "errorStackTrace" : "java.lang.AssertionError: Expected an InvalidRequest exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000aInternal Server Error\u000aThe server encountered an internal error or\u000amisconfiguration and was unable to complete\u000ayour request.\u000aPlease contact the server administrator at \u000a email@monicaihli.com to inform them of the time this error occurred,\u000a and the actions you performed just before this error.\u000aMore information about this error may be available\u000ain the server error log.\u000aApache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/views/bogus_theme_yaaaay/testView_InvalidTheme_20183614258752 ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.ViewTestImplementations.testView_InvalidTheme(ViewTestImplementations.java:108)\u000a\u0009at org.dataone.integration.it.testImplementations.ViewTestImplementations.testView_InvalidTheme(ViewTestImplementations.java:88)\u000a\u0009at org.dataone.integration.it.apiTests.MNViewV2IT.testView_InvalidTheme(MNViewV2IT.java:46)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testView_InvalidTheme", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNViewV2IT", "duration" : 2.407, "errorDetails" : "Expected a NotFound exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at email@monicaihli.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443 [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/views/default/bogus%20pid ]", "errorStackTrace" : "java.lang.AssertionError: Expected a NotFound exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000aInternal Server Error\u000aThe server encountered an internal error or\u000amisconfiguration and was unable to complete\u000ayour request.\u000aPlease contact the server administrator at \u000a email@monicaihli.com to inform them of the time this error occurred,\u000a and the actions you performed just before this error.\u000aMore information about this error may be available\u000ain the server error log.\u000aApache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/views/default/bogus%20pid ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.ViewTestImplementations.testView_NotFound(ViewTestImplementations.java:145)\u000a\u0009at org.dataone.integration.it.testImplementations.ViewTestImplementations.testView_NotFound(ViewTestImplementations.java:125)\u000a\u0009at org.dataone.integration.it.apiTests.MNViewV2IT.testView_NotFound(MNViewV2IT.java:52)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testView_NotFound", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None }, { "testActions" : [ ], "age" : 1, "className" : "org.dataone.integration.it.apiTests.MNViewV2IT", "duration" : 1.652, "errorDetails" : "Expected a NotFound exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at email@monicaihli.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443 [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/views ]", "errorStackTrace" : "java.lang.AssertionError: Expected a NotFound exception. Got: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:\u000aInternal Server Error\u000aThe server encountered an internal error or\u000amisconfiguration and was unable to complete\u000ayour request.\u000aPlease contact the server administrator at \u000a email@monicaihli.com to inform them of the time this error occurred,\u000a and the actions you performed just before this error.\u000aMore information about this error may be available\u000ain the server error log.\u000aApache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443\u000a [for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/views ]\u000a\u0009at org.junit.Assert.fail(Assert.java:91)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)\u000a\u0009at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)\u000a\u0009at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)\u000a\u0009at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)\u000a\u0009at org.dataone.integration.it.testImplementations.ViewTestImplementations.testListViews(ViewTestImplementations.java:175)\u000a\u0009at org.dataone.integration.it.testImplementations.ViewTestImplementations.testListViews(ViewTestImplementations.java:161)\u000a\u0009at org.dataone.integration.it.apiTests.MNViewV2IT.testListViews(MNViewV2IT.java:58)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\u000a\u0009at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\u000a\u0009at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\u000a\u0009at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\u000a\u0009at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)\u000a\u0009at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)\u000a\u0009at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\u000a\u0009at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\u000a\u0009at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\u000a\u0009at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\u000a\u0009at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\u000a\u0009at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\u000a\u0009at org.junit.runners.ParentRunner.run(ParentRunner.java:236)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)\u000a\u0009at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\u000a\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\u000a\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\u000a\u0009at java.lang.reflect.Method.invoke(Method.java:498)\u000a\u0009at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)\u000a\u0009at com.sun.proxy.$Proxy0.invoke(Unknown Source)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)\u000a\u0009at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)\u000a\u0009at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)\u000a", "failedSince" : 500, "name" : "testListViews", "skipped" : False, "skippedMessage" : None, "status" : "REGRESSION", "stderr" : None, "stdout" : None } ], "duration" : 19.643, "enclosingBlockNames" : [ ], "enclosingBlocks" : [ ], "id" : None, "name" : "org.dataone.integration.it.apiTests.MNViewV2IT", "nodeId" : None, "stderr" : None, "stdout" : None, "timestamp" : None } ] }