<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ISE 2.0 ERS failed to register End Point via Python script in Network Access Control</title>
    <link>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3214935#M551388</link>
    <description>&lt;P&gt;In order to slay the 405 dragon, I build a very simple ERS create endpoint python script without any further functions based on following two ref guides with the same name, but with different URLs????&lt;/P&gt;
&lt;H1 id="fw-pagetitle" class="" data-owner="ID"&gt;Cisco Identity Services Engine API Reference Guide, Release 1.2&lt;/H1&gt;
&lt;P&gt;&lt;A href="https://www.cisco.com/c/en/us/td/docs/security/ise/1-2/api_ref_guide/api_ref_book/ise_api_ref_ers2.html#34313" target="_blank"&gt;https://www.cisco.com/c/en/us/td/docs/security/ise/1-2/api_ref_guide/api_ref_book/ise_api_ref_ers2.html#34313&lt;/A&gt;&lt;/P&gt;
&lt;H1 id="fw-pagetitle" class="" data-owner="ID"&gt;Cisco Identity Services Engine API Reference Guide, Release 1.2&lt;/H1&gt;
&lt;P&gt;&lt;A href="https://www.cisco.com/c/en/us/td/docs/security/ise/1-2/api_ref_guide/api_ref_book/ise_api_ref_ers1.html" target="_blank"&gt;https://www.cisco.com/c/en/us/td/docs/security/ise/1-2/api_ref_guide/api_ref_book/ise_api_ref_ers1.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;TEST.PY scipt :&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;#!/usr/bin/env python&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;from socket import *&lt;/P&gt;
&lt;P&gt;import os,re,requests,ssl&lt;/P&gt;
&lt;P&gt;from base64 import b64encode&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;xml = open('imt.xml', 'r')&lt;/P&gt;
&lt;P&gt;payload = xml.read()&lt;/P&gt;
&lt;P&gt;print "\n-INPUT XML DATA FILE:\n"+payload&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;userpas = b64encode(b"ers-admin:secret")&lt;/P&gt;
&lt;P&gt;userpass = 'Basic '+userpas&lt;/P&gt;
&lt;P&gt;print "\n-INPUT HTTPS PASSWORD STRING:\n"+userpass&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;putheaders = {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'content-Type': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml',&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'authorization': userpass,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'accept': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;print "\n-INPUT HTTPS HEADERS:"&lt;/P&gt;
&lt;P&gt;print putheaders2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;puturi = "&lt;A href="https://1.1.1.1:9060/ers/config/endpoint" target="_blank"&gt;https://1.1.1.1:9060/ers/config/endpoint&lt;/A&gt;"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;postresp = requests.request("PUT", putri, data=payload, headers=putheaders)&lt;/P&gt;
&lt;P&gt;print "\n-OUTPUT Python REQUEST:\n"&lt;/P&gt;
&lt;P&gt;print postresp&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;print "\n-OUTPUT HEADERS:"&lt;/P&gt;
&lt;P&gt;print postresp.request.headers&lt;/P&gt;
&lt;P&gt;print "\n-OUTPUT DATA:"&lt;/P&gt;
&lt;P&gt;print postresp.request.data&lt;/P&gt;
&lt;P&gt;print "\n-OUTPUT RESPONSE:"&lt;/P&gt;
&lt;P&gt;print postresp&lt;/P&gt;
&lt;P&gt;&amp;nbsp;--------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Python output:&lt;/P&gt;
&lt;P&gt;---------------------------------------------------------&lt;/P&gt;
&lt;P&gt;server# ./test.py&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-INPUT XML DATA FILE:&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;ns3:endpoint name="testmac" id="" description="test endpoint" xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;groupId&amp;gt;testmac&amp;lt;/groupId&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;mac&amp;gt;00:01:02:03:04:05&amp;lt;/mac&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticGroupAssignment&amp;gt;true&amp;lt;/staticGroupAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticProfileAssignment&amp;gt;false&amp;lt;/staticProfileAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/ns3:endpoint&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-INPUT HTTPS PASSWORD STRING:&lt;/P&gt;
&lt;P&gt;Basic ZXJzLKLkbWluOkMxc2NvMUIc&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-INPUT HTTPS HEADERS:&lt;/P&gt;
&lt;P&gt;{'content-Type': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'accept': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'authorization': 'Basic ZXJzLKLkbWluOkMxc2NvMUIc'}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-OUTPUT HEADERS:&lt;/P&gt;
&lt;P&gt;{'User-Agent': 'python-requests/0.8.2', 'content-Type': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'authorization': 'Basic ZXJzLKLkbWluOkMxc2NvMUIc', 'accept': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'Accept-Encoding': 'identity, deflate, compress, gzip'}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-OUTPUT DATA:&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;ns3:endpoint name="testmac" id="" description="test endpoint" xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;groupId&amp;gt;testmac&amp;lt;/groupId&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;mac&amp;gt;00:01:02:03:04:05&amp;lt;/mac&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticGroupAssignment&amp;gt;true&amp;lt;/staticGroupAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticProfileAssignment&amp;gt;false&amp;lt;/staticProfileAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/ns3:endpoint&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-OUTPUT RESPONSE:&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;&amp;lt;Response [405]&amp;gt;&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So the big question stays why I get these 405 errors ?&lt;/P&gt;
&lt;TABLE width="96%" cellspacing="0" cellpadding="3" border="1"&gt;
&lt;TBODY&gt;
&lt;TR valign="top" align="left"&gt;
&lt;TD&gt;
&lt;P class="pB1_Body1"&gt;405 Method Not Allowed&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P class="pB1_Body1"&gt;&lt;A target="_blank" name="pgfId-1103626"&gt;&lt;/A&gt;The HTTP verb specified in the request (DELETE, GET, HEAD, POST, PUT) is not supported for this request URI.)&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;As it clearly state in the ref guide that a POST method ,ust be used ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="afbeelding.png" style="width: 999px;"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/3180iADC84C57561D33AA/image-size/large?v=v2&amp;amp;px=999" role="button" title="afbeelding.png" alt="afbeelding.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;btw: tried a million things in changing headers en python put/post structures but so far no luck.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any assistance is highly appreciated&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With Kind regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Michel&lt;/P&gt;</description>
    <pubDate>Sat, 11 Nov 2017 13:40:09 GMT</pubDate>
    <dc:creator>michelbijnsdorp</dc:creator>
    <dc:date>2017-11-11T13:40:09Z</dc:date>
    <item>
      <title>ISE 2.0 ERS failed to register End Point via Python script</title>
      <link>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3213851#M551387</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With the ERS API documentation (PAN:9060/ers) in the hand I try to import a MAC adres into ISE internal dB .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ISE version: 2.0.0.306 patch 4&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;part of the pyhton Script:&lt;/STRONG&gt; &lt;/U&gt;&lt;/P&gt;
&lt;P&gt;putheaders={'Content-Type':'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml; charset=utf- 8','Accept':'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;xmldata ="&amp;lt;?xml version='1.0' encoding='UTF-8' standalone='yes'?&amp;gt; \&lt;/P&gt;
&lt;P&gt;&amp;lt;ns4:endpoint description='"+networkdevicename+"' id='id' name='"+macadr+"' \ xmlns:ers='ers.ise.cisco.com' xmlns:xs='&lt;A href="http://www.w3.org/2001/XMLSchema" target="_blank"&gt;http://www.w3.org/2001/XMLSchema&lt;/A&gt;' \ xmlns:ns4='identity.ers.ise.cisco.com'&amp;gt; \&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;groupId&amp;gt;testmac&amp;lt;/groupId&amp;gt; \&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;mac&amp;gt;"+macadr+"&amp;lt;/mac&amp;gt; \&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;staticGroupAssignment&amp;gt;true&amp;lt;/staticGroupAssignment&amp;gt; \&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;staticProfileAssignment&amp;gt;false&amp;lt;/staticProfileAssignment&amp;gt; \&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/ns4:endpoint&amp;gt;"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;puturl = "x.x.x.x:9060/ers/config/endpoint/register"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;putresp = requests.put(puturl, data=xmldata, headers=putheaders, auth=('xxxx’, 'xxxxx'))&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;script output:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;{'Content-Type': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml; charset=utf-8', 'Accept': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml'}&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version='1.0' encoding='UTF-8' standalone='yes'?&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;ns4:endpoint description='xxxxx' id='' name='b0:7d:47:d0:d9:f8' xmlns:ers='ers.ise.cisco.com' xmlns:xs='&lt;A href="http://www.w3.org/2001/XMLSchema" target="_blank"&gt;http://www.w3.org/2001/XMLSchema&lt;/A&gt;' xmlns:ns4='identity.ers.ise.cisco.com'&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;groupId&amp;gt;testmac&amp;lt;/groupId&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;mac&amp;gt;b0:7d:47:d0:d9:f8&amp;lt;/mac&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticGroupAssignment&amp;gt;true&amp;lt;/staticGroupAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticProfileAssignment&amp;gt;false&amp;lt;/staticProfileAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/ns4:endpoint&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;Response &lt;STRONG&gt;[204]&lt;/STRONG&gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With the use of the ISE REST SDK I manged to build a python script which is working for the ‘PUT.endpoint register’function, however the MAC adr is learned but not assigned on the correct group (testmac). Furthermore the DeviceRegistrationStatus stays ‘pendig” and therefore can not be used in the ISE policy. &amp;nbsp;I used the requests.put register function which gets me a http.result “204”&amp;nbsp; which is correct according to the SDK register output.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When I use the requests.post.create function and I change also the&amp;nbsp; http statement to “&lt;A href="https://x.x.x.x:9060/ers/config/endpoint" target="_blank"&gt;https://x.x.x.x:9060/ers/config/endpoint&lt;/A&gt;&amp;nbsp; I get a hard http.result “500” error code. Which I believe that the used headers and XML content according to the API online ISE PAN server documentation is the same for both methods. Also I used as start the minimum&lt;STRONG&gt; required&lt;/STRONG&gt; attributes which is stated in the documentation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Question1:&lt;/U&gt;&lt;/STRONG&gt; &amp;nbsp;What is correct method to be used in order to insert a new MAC address ( API function PUT:endpoint register or POST:endpoint create )?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Question2:&lt;/U&gt;&lt;/STRONG&gt; Why is the attribute ‘id’ required by the documentation as a new MAC address can not have a ‘id’ because it is not known yet by the ISE system?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(I try to find on this forum an eindpoint insert example but I could not find it)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Question3:&lt;/U&gt;&lt;/STRONG&gt; When a MAC adres is inserted into the ISE database via de PUT:endpoint register function, why is an “Exeed allowed License usage (PLUS license) warning generated?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;-------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In order to slay the 405 dragon, I build a very simple ERS create endpoint python script without any further functions based on following ref guide;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cisco Identity Services Engine API Reference Guide, Release 1.2&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.cisco.com/c/en/us/td/docs/security/ise/1-2/api_ref_guide/api_ref_book/ise_api_ref_ers2.html#34313" target="_blank"&gt;https://www.cisco.com/c/en/us/td/docs/security/ise/1-2/api_ref_guide/api_ref_book/ise_api_ref_ers2.htm&lt;/A&gt;l and on the PAN server ref guide URL: &lt;CODE class="cExPlain"&gt; https://&amp;lt;ISE-ADMIN-NODE&amp;gt;:9060/ers/sdk&lt;/CODE&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;TEST.PY scipt :&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;#!/usr/bin/env python&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;from socket import *&lt;/P&gt;
&lt;P&gt;import os,re,requests,ssl&lt;/P&gt;
&lt;P&gt;from base64 import b64encode&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;xml = open('imt.xml', 'r')&lt;/P&gt;
&lt;P&gt;payload = xml.read()&lt;/P&gt;
&lt;P&gt;print "\n-INPUT XML DATA FILE:\n"+payload&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;userpas = b64encode(b"ers-admin:secret")&lt;/P&gt;
&lt;P&gt;userpass = 'Basic '+userpas&lt;/P&gt;
&lt;P&gt;print "\n-INPUT HTTPS PASSWORD STRING:\n"+userpass&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;putheaders = {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'content-Type': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml',&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'authorization': userpass,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'accept': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;print "\n-INPUT HTTPS HEADERS:"&lt;/P&gt;
&lt;P&gt;print putheaders2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;puturi = "&lt;A href="https://1.1.1.1:9060/ers/config/endpoint" target="_blank"&gt;https://1.1.1.1:9060/ers/config/endpoint&lt;/A&gt;"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;putresp = requests.request("PUT", putri, data=payload, headers=putheaders)&lt;/P&gt;
&lt;P&gt;print "\n-OUTPUT Python REQUEST:\n"&lt;/P&gt;
&lt;P&gt;print putresp&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;print "\n-OUTPUT HEADERS:"&lt;/P&gt;
&lt;P&gt;print putresp.request.headers&lt;/P&gt;
&lt;P&gt;print "\n-OUTPUT DATA:"&lt;/P&gt;
&lt;P&gt;print putresp.request.data&lt;/P&gt;
&lt;P&gt;print "\n-OUTPUT RESPONSE:"&lt;/P&gt;
&lt;P&gt;print putresp&lt;/P&gt;
&lt;P&gt;&amp;nbsp;--------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Python output:&lt;/P&gt;
&lt;P&gt;---------------------------------------------------------&lt;/P&gt;
&lt;P&gt;server# ./test.py&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-INPUT XML DATA FILE:&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;ns3:endpoint name="testmac" id="" description="test endpoint" xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;groupId&amp;gt;testmac&amp;lt;/groupId&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;mac&amp;gt;00:01:02:03:04:05&amp;lt;/mac&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticGroupAssignment&amp;gt;true&amp;lt;/staticGroupAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticProfileAssignment&amp;gt;false&amp;lt;/staticProfileAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/ns3:endpoint&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-INPUT HTTPS PASSWORD STRING:&lt;/P&gt;
&lt;P&gt;Basic ZXJzLKLkbWluOkMxc2NvMUIc&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-INPUT HTTPS HEADERS:&lt;/P&gt;
&lt;P&gt;{'content-Type': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'accept': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'authorization': 'Basic ZXJzLKLkbWluOkMxc2NvMUIc'}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-OUTPUT HEADERS:&lt;/P&gt;
&lt;P&gt;{'User-Agent': 'python-requests/0.8.2', 'content-Type': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'authorization': 'Basic ZXJzLKLkbWluOkMxc2NvMUIc', 'accept': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'Accept-Encoding': 'identity, deflate, compress, gzip'}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-OUTPUT DATA:&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;ns3:endpoint name="testmac" id="" description="test endpoint" xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;groupId&amp;gt;testmac&amp;lt;/groupId&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;mac&amp;gt;00:01:02:03:04:05&amp;lt;/mac&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticGroupAssignment&amp;gt;true&amp;lt;/staticGroupAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticProfileAssignment&amp;gt;false&amp;lt;/staticProfileAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/ns3:endpoint&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-OUTPUT RESPONSE:&lt;/P&gt;
&lt;P&gt;&amp;lt;Response [405]&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So the big question stays why I get these 405 errors ?&lt;/P&gt;
&lt;P&gt;405 Method Not Allowed - The HTTP verb specified in the request (DELETE, GET, HEAD, POST, PUT) is not supported for this request URI.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;As it clearly state in the ref guide that a POST method ,ust be used ?&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="InkedKnipsel_LI.jpg" style="width: 999px;"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/3182iC79D59848855C303/image-size/large?v=v2&amp;amp;px=999" role="button" title="InkedKnipsel_LI.jpg" alt="InkedKnipsel_LI.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;btw: tried a million things in changing headers en python put/post structures but so far no luck.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any assistance is highly appreciated&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With Kind regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Michel&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Feb 2020 18:38:33 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3213851#M551387</guid>
      <dc:creator>michelbijnsdorp</dc:creator>
      <dc:date>2020-02-21T18:38:33Z</dc:date>
    </item>
    <item>
      <title>Re: ISE 2.0 ERS failed to register End Point via Python script</title>
      <link>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3214935#M551388</link>
      <description>&lt;P&gt;In order to slay the 405 dragon, I build a very simple ERS create endpoint python script without any further functions based on following two ref guides with the same name, but with different URLs????&lt;/P&gt;
&lt;H1 id="fw-pagetitle" class="" data-owner="ID"&gt;Cisco Identity Services Engine API Reference Guide, Release 1.2&lt;/H1&gt;
&lt;P&gt;&lt;A href="https://www.cisco.com/c/en/us/td/docs/security/ise/1-2/api_ref_guide/api_ref_book/ise_api_ref_ers2.html#34313" target="_blank"&gt;https://www.cisco.com/c/en/us/td/docs/security/ise/1-2/api_ref_guide/api_ref_book/ise_api_ref_ers2.html#34313&lt;/A&gt;&lt;/P&gt;
&lt;H1 id="fw-pagetitle" class="" data-owner="ID"&gt;Cisco Identity Services Engine API Reference Guide, Release 1.2&lt;/H1&gt;
&lt;P&gt;&lt;A href="https://www.cisco.com/c/en/us/td/docs/security/ise/1-2/api_ref_guide/api_ref_book/ise_api_ref_ers1.html" target="_blank"&gt;https://www.cisco.com/c/en/us/td/docs/security/ise/1-2/api_ref_guide/api_ref_book/ise_api_ref_ers1.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;TEST.PY scipt :&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;#!/usr/bin/env python&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;from socket import *&lt;/P&gt;
&lt;P&gt;import os,re,requests,ssl&lt;/P&gt;
&lt;P&gt;from base64 import b64encode&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;xml = open('imt.xml', 'r')&lt;/P&gt;
&lt;P&gt;payload = xml.read()&lt;/P&gt;
&lt;P&gt;print "\n-INPUT XML DATA FILE:\n"+payload&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;userpas = b64encode(b"ers-admin:secret")&lt;/P&gt;
&lt;P&gt;userpass = 'Basic '+userpas&lt;/P&gt;
&lt;P&gt;print "\n-INPUT HTTPS PASSWORD STRING:\n"+userpass&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;putheaders = {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'content-Type': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml',&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'authorization': userpass,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'accept': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;print "\n-INPUT HTTPS HEADERS:"&lt;/P&gt;
&lt;P&gt;print putheaders2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;puturi = "&lt;A href="https://1.1.1.1:9060/ers/config/endpoint" target="_blank"&gt;https://1.1.1.1:9060/ers/config/endpoint&lt;/A&gt;"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;postresp = requests.request("PUT", putri, data=payload, headers=putheaders)&lt;/P&gt;
&lt;P&gt;print "\n-OUTPUT Python REQUEST:\n"&lt;/P&gt;
&lt;P&gt;print postresp&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;print "\n-OUTPUT HEADERS:"&lt;/P&gt;
&lt;P&gt;print postresp.request.headers&lt;/P&gt;
&lt;P&gt;print "\n-OUTPUT DATA:"&lt;/P&gt;
&lt;P&gt;print postresp.request.data&lt;/P&gt;
&lt;P&gt;print "\n-OUTPUT RESPONSE:"&lt;/P&gt;
&lt;P&gt;print postresp&lt;/P&gt;
&lt;P&gt;&amp;nbsp;--------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Python output:&lt;/P&gt;
&lt;P&gt;---------------------------------------------------------&lt;/P&gt;
&lt;P&gt;server# ./test.py&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-INPUT XML DATA FILE:&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;ns3:endpoint name="testmac" id="" description="test endpoint" xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;groupId&amp;gt;testmac&amp;lt;/groupId&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;mac&amp;gt;00:01:02:03:04:05&amp;lt;/mac&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticGroupAssignment&amp;gt;true&amp;lt;/staticGroupAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticProfileAssignment&amp;gt;false&amp;lt;/staticProfileAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/ns3:endpoint&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-INPUT HTTPS PASSWORD STRING:&lt;/P&gt;
&lt;P&gt;Basic ZXJzLKLkbWluOkMxc2NvMUIc&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-INPUT HTTPS HEADERS:&lt;/P&gt;
&lt;P&gt;{'content-Type': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'accept': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'authorization': 'Basic ZXJzLKLkbWluOkMxc2NvMUIc'}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-OUTPUT HEADERS:&lt;/P&gt;
&lt;P&gt;{'User-Agent': 'python-requests/0.8.2', 'content-Type': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'authorization': 'Basic ZXJzLKLkbWluOkMxc2NvMUIc', 'accept': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'Accept-Encoding': 'identity, deflate, compress, gzip'}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-OUTPUT DATA:&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;ns3:endpoint name="testmac" id="" description="test endpoint" xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;groupId&amp;gt;testmac&amp;lt;/groupId&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;mac&amp;gt;00:01:02:03:04:05&amp;lt;/mac&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticGroupAssignment&amp;gt;true&amp;lt;/staticGroupAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;staticProfileAssignment&amp;gt;false&amp;lt;/staticProfileAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/ns3:endpoint&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-OUTPUT RESPONSE:&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;&amp;lt;Response [405]&amp;gt;&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So the big question stays why I get these 405 errors ?&lt;/P&gt;
&lt;TABLE width="96%" cellspacing="0" cellpadding="3" border="1"&gt;
&lt;TBODY&gt;
&lt;TR valign="top" align="left"&gt;
&lt;TD&gt;
&lt;P class="pB1_Body1"&gt;405 Method Not Allowed&lt;/P&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;P class="pB1_Body1"&gt;&lt;A target="_blank" name="pgfId-1103626"&gt;&lt;/A&gt;The HTTP verb specified in the request (DELETE, GET, HEAD, POST, PUT) is not supported for this request URI.)&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;As it clearly state in the ref guide that a POST method ,ust be used ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="afbeelding.png" style="width: 999px;"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/3180iADC84C57561D33AA/image-size/large?v=v2&amp;amp;px=999" role="button" title="afbeelding.png" alt="afbeelding.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;btw: tried a million things in changing headers en python put/post structures but so far no luck.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any assistance is highly appreciated&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With Kind regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Michel&lt;/P&gt;</description>
      <pubDate>Sat, 11 Nov 2017 13:40:09 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3214935#M551388</guid>
      <dc:creator>michelbijnsdorp</dc:creator>
      <dc:date>2017-11-11T13:40:09Z</dc:date>
    </item>
    <item>
      <title>Re: ISE 2.0 ERS failed to register End Point via Python script</title>
      <link>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3215293#M551389</link>
      <description>It's a POST you should use, Endpoint Group is not identified in the xml by name, but by id, which you can obtain by getting the list of groups (send a GET to https://ise:9060/ers/config/endpointgroup)
Just put something in id and name, doesn't matter, won't be used.

&lt;ENDPOINT name="name" id="id" description="test mac" ns2="ers.ise.cisco.com" ns3="identity.ers.ise.cisco.com"&gt;
       &lt;GROUPID&gt;xxx-xxx-xxx-xxx-xxx&lt;/GROUPID&gt;
       &lt;MAC&gt;11:22:33:44:55:66&lt;/MAC&gt;
        &lt;STATICGROUPASSIGNMENT&gt;true&lt;/STATICGROUPASSIGNMENT&gt;
        &lt;STATICPROFILEASSIGNMENT&gt;false&lt;/STATICPROFILEASSIGNMENT&gt;
&lt;/ENDPOINT&gt;</description>
      <pubDate>Sun, 12 Nov 2017 22:35:58 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3215293#M551389</guid>
      <dc:creator>jan.nielsen</dc:creator>
      <dc:date>2017-11-12T22:35:58Z</dc:date>
    </item>
    <item>
      <title>Re: ISE 2.0 ERS failed to register End Point via Python script</title>
      <link>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3215490#M551480</link>
      <description>&lt;P&gt;Hi Jan,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I followed your approach that the groupId is pointing to a ID instead of a name. As you can see the groupID format is different then your suggested format:xxx-xxx-xxx-xxx-xxx. do you have any further idea what is wrong ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Server: &amp;nbsp;curl -k -X GET 'https://admin-user:pass@1.1.1.1:9060/ers/config/endpointgroup' -H 'Accept:application/vnd.com.cisco.ise.identity.endpointgroup.1.0+xml' | grep 'TEMP'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version="1.0" encoding="utf-8" standalone="yes"?&amp;gt;&amp;lt;ns3:searchResult total="11" xmlns:xs="&lt;A href="http://www.w3.org/2001/XMLSchema" target="_blank"&gt;http://www.w3.org/2001/XMLSchema&lt;/A&gt;" xmlns:ns3="ers.ise.cisco.com"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;resources&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;resource description="temporary data group" id="&lt;STRONG&gt;40a0ec80-c84b-11e7-8e06-0050568e8e02&lt;/STRONG&gt;" name="TEMP_Data"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&amp;lt;link rel="self" href="&lt;A href="https://145.21.96.49:9060/ers/config/endpointgroup/40a0ec80-c84b-11e7-8e06-0050568e8e02" target="_blank"&gt;https://1.1.1.1:9060/ers/config/endpointgroup/40a0ec80-c84b-11e7-8e06-0050568e8e02&lt;/A&gt;" type="application/xml"/&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;/resource&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;-----------------------------------------&lt;/P&gt;
&lt;P&gt;Sever:~$ ./test.py&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-INPUT XML DATA FILE:&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;ns3:endpoint name="test" id="" description="test" xmlns:ns2="ers.ise.cisco.com"&amp;nbsp; xmlns:ns3="identity.ers.ise.cisco.com"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;&lt;STRONG&gt;40a0ec80-c84b-11e7-8e06-0050568e8e02&lt;/STRONG&gt;&amp;lt;/groupId&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;mac&amp;gt;11:22:33:44:55:66&amp;lt;/mac&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;staticGroupAssignment&amp;gt;true&amp;lt;/staticGroupAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;staticProfileAssignment&amp;gt;false&amp;lt;/staticProfileAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/ns3:endpoint&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-INPUT HTTPS PASSWORD STRING:&lt;/P&gt;
&lt;P&gt;Basic ZXJzLWFkbWluOkMxc2NvMTIz&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-INPUT HTTPS HEADERS:&lt;/P&gt;
&lt;P&gt;{'content-Type': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'accept': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'authorization': 'Basic ZXJzLWFkbWluOkMxc2NvMTIz'}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-OUTPUT HEADERS:&lt;/P&gt;
&lt;P&gt;{'User-Agent': 'python-requests/0.8.2', 'content-Type': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'authorization': 'Basic ZXJzLWFkbWluOkMxc2NvMTIz', 'accept': 'application/vnd.com.cisco.ise.identity.endpoint.1.0+xml', 'Accept-Encoding': 'identity, deflate, compress, gzip'}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-OUTPUT DATA:&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;ns3:endpoint name="test" id="" description="test" xmlns:ns2="ers.ise.cisco.com"&amp;nbsp; xmlns:ns3="identity.ers.ise.cisco.com"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;&lt;STRONG&gt;40a0ec80-c84b-11e7-8e06-0050568e8e02&lt;/STRONG&gt;&amp;lt;/groupId&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;mac&amp;gt;11:22:33:44:55:66&amp;lt;/mac&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;staticGroupAssignment&amp;gt;true&amp;lt;/staticGroupAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;staticProfileAssignment&amp;gt;false&amp;lt;/staticProfileAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/ns3:endpoint&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-OUTPUT RESPONSE:&lt;/P&gt;
&lt;P&gt;&amp;lt;Response [405]&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;WIth Kind regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Michel&lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2017 09:31:49 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3215490#M551480</guid>
      <dc:creator>michelbijnsdorp</dc:creator>
      <dc:date>2017-11-13T09:31:49Z</dc:date>
    </item>
    <item>
      <title>Re: ISE 2.0 ERS failed to register End Point via Python script</title>
      <link>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3215555#M551481</link>
      <description>&lt;P&gt;the xxx-xxx i put in there was just to indicate that you cant use the name.&lt;/P&gt;
&lt;P&gt;The 405 Error should also give you some message, try using curl -v to get all the headers back.&lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2017 11:50:48 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3215555#M551481</guid>
      <dc:creator>jan.nielsen</dc:creator>
      <dc:date>2017-11-13T11:50:48Z</dc:date>
    </item>
    <item>
      <title>Re: ISE 2.0 ERS failed to register End Point via Python script</title>
      <link>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3215596#M551482</link>
      <description>&lt;P&gt;We are a littlebit further it becomes now an error: 400 instead of 405&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;curl -v -k -X POST "&lt;A href="https://user:pass@1.1.1.1:9060/ers/config/endpoint" target="_blank"&gt;https://user:pass@1.1.1.1:9060/ers/config/endpoint&lt;/A&gt;" -H "Content-Type:application/vnd.com.cisco.ise.identity.endpoint.1.1+xml" -d xmldata&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;lt; HTTP/1.1 400 Bad Request&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt; Content-Type: application/vnd.com.cisco.ise.ers.ersresponse.1.1+xml;charset=utf-8&lt;/P&gt;
&lt;P&gt;&amp;lt; Content-Length: 484&lt;/P&gt;
&lt;P&gt;&amp;lt; Connection: close&lt;/P&gt;
&lt;P&gt;&amp;lt; Server:&lt;/P&gt;
&lt;P&gt;&amp;lt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;* Closing connection #0&lt;/P&gt;
&lt;P&gt;* SSLv3, TLS alert, Client hello (1):&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version="1.0" encoding="utf-8" standalone="yes"?&amp;gt;&amp;lt;ns3:ersResponse operation="POST-create-endpoint" xmlns:xs="&lt;A href="http://www.w3.org/2001/XMLSchema" target="_blank"&gt;http://www.w3.org/2001/XMLSchema&lt;/A&gt;" xmlns:ns3="ers.ise.cisco.com"&amp;gt;&amp;lt;link rel="related" href="&lt;A href="https://1.1.1.1:9060/ers/config/endpoint" target="_blank"&gt;https://1.1.1.1:9060/ers/config/endpoint&lt;/A&gt;" type="application/xml"/&amp;gt;&amp;lt;messages&amp;gt;&amp;lt;message type="ERROR" code="Schema validation exception"&amp;gt;&amp;lt;title&amp;gt;&lt;STRONG&gt;XML Schema Validation Failed :: at line 1, column 1 : Content is not allowed in prolog&lt;/STRONG&gt;.&amp;lt;/title&amp;gt;&amp;lt;/message&amp;gt;&amp;lt;/messages&amp;gt;&amp;lt;/ns3:ersResponse&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;more xmldata&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;ns3:endpoint name="name" id="id" description="description" xmlns:ns2="ers.ise.cisco.com"&amp;nbsp; xmlns:ns3="identity.ers.ise.cisco.com"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;40a0ec80-c84b-11e7-8e06-0050568e8e02&amp;lt;/groupId&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;mac&amp;gt;00:01:02:03:04:05&amp;lt;/mac&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;staticGroupAssignment&amp;gt;true&amp;lt;/staticGroupAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;staticProfileAssignment&amp;gt;false&amp;lt;/staticProfileAssignment&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/ns3:endpoint&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt; Even with an additional header accept:application/vnd.com.cisco.ise.identity.endpoint.1.1+xml or changing the version number from 1.0+xml&amp;nbsp; to 1.1+xml I get the same HTTP cause code.400&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind regards Michel&lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2017 12:54:02 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3215596#M551482</guid>
      <dc:creator>michelbijnsdorp</dc:creator>
      <dc:date>2017-11-13T12:54:02Z</dc:date>
    </item>
    <item>
      <title>Re: ISE 2.0 ERS failed to register End Point via Python script</title>
      <link>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3215637#M551483</link>
      <description>&lt;P&gt;Who&amp;nbsp; has any idea's of this error code "&lt;STRONG&gt;Content is not allowed in prolog&lt;/STRONG&gt;" because I tested the different Pyhton whitespace removal options ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind Regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Michel&lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2017 13:54:50 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3215637#M551483</guid>
      <dc:creator>michelbijnsdorp</dc:creator>
      <dc:date>2017-11-13T13:54:50Z</dc:date>
    </item>
    <item>
      <title>Re: ISE 2.0 ERS failed to register End Point via Python script</title>
      <link>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3215862#M551484</link>
      <description>&lt;P&gt;XML Prolog is this line :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="w3-example"&gt;
&lt;DIV class="w3-code notranslate htmlHigh"&gt;&lt;SPAN style="color: brown;"&gt;&lt;SPAN style="color: mediumblue;"&gt;&amp;lt;?xml version="1.0" encoding="utf-8" standalone="yes"?&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="w3-code notranslate htmlHigh"&gt;&lt;SPAN style="color: brown;"&gt;&lt;SPAN style="color: mediumblue;"&gt;Which looks fine, but if the option in curl&amp;nbsp; -d xmldata is supposed to reference a file, you need a @ in front of the filename. If you are not using a file for your xml data, then maybe try that?&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="w3-code notranslate htmlHigh"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Mon, 13 Nov 2017 20:28:51 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3215862#M551484</guid>
      <dc:creator>jan.nielsen</dc:creator>
      <dc:date>2017-11-13T20:28:51Z</dc:date>
    </item>
    <item>
      <title>Re: ISE 2.0 ERS failed to register End Point via Python script</title>
      <link>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3216226#M551485</link>
      <description>&lt;P&gt;Jan,&amp;nbsp; thanks for your support It pointed me into the correct direction, so both the CURL and the python script option is now working.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Btw&amp;gt;&amp;nbsp; I noticed that the a endpoint by default is not assigned to an endpoint profileId, but by using the CURL command it was no problem to obtain the endpointgroup id and apply that information in the create profileID value.&amp;nbsp; So I be able to create an endpoint, put it in the correct group with the GroupId and profiled it to the correct profilename.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Many thanks,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With kind regards Michel&lt;/P&gt;</description>
      <pubDate>Tue, 14 Nov 2017 12:17:41 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3216226#M551485</guid>
      <dc:creator>michelbijnsdorp</dc:creator>
      <dc:date>2017-11-14T12:17:41Z</dc:date>
    </item>
    <item>
      <title>Re: ISE 2.0 ERS failed to register End Point via Python script</title>
      <link>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3216243#M551486</link>
      <description>&lt;P&gt;Glad i could help, good luck with your ISE API project &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Nov 2017 12:39:08 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/ise-2-0-ers-failed-to-register-end-point-via-python-script/m-p/3216243#M551486</guid>
      <dc:creator>jan.nielsen</dc:creator>
      <dc:date>2017-11-14T12:39:08Z</dc:date>
    </item>
  </channel>
</rss>

