<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[PxGrid API для getAssets не работает]]></title><description><![CDATA[<p dir="auto">Здравствуйте, Я пробую PxGrid и пытаюсь использовать клиент PxGrid как для публикации, так и для подписки на конечные ресурсы. Я следую этим ресурсам: Для контекста в коде —<br />
<a href="https://developer.cisco.com/docs/pxgrid/#!pxgrid-context-in" rel="nofollow ugc">https://developer.cisco.com/docs/pxgrid/#!pxgrid-context-in</a> Для получения информации обо всех ресурсах —<br />
<a href="https://d1nmyq4gcgsfi5.cloudfront.net/fileMedia/ea02ce59-2668-441a-601d-0c6ca59d8bf4/CiscopxGrid20_je.pdf" rel="nofollow ugc">https://d1nmyq4gcgsfi5.cloudfront.net/fileMedia/ea02ce59-2668-441a-601d-0c6ca59d8bf4/CiscopxGrid20_je.pdf</a><br />
[Страница 127] Мне удалось успешно опубликовать информацию о конечной точке и подписаться на нее. Однако мой первоначальный вариант использования выглядит следующим образом: «Создать клиент PxGrid и службу pub-sub, которая публикует информацию об активах конечной точки; создать подписку на эту службу и получить вновь созданные конечные точки; использовать [restBaseURL]/getAssets, чтобы получить информацию о уже имеющихся активах для первого использования». Я делаю следующее: 1. Создаю клиент PxGrid и издателя для публикации информации об активах конечной точки — успешно. Пример кода для службы издателя: sessionProperties.put(<br />
"wsPubsubService"<br />
,<br />
"com.cisco.ise.pubsub"<br />
);<br />
sessionProperties.put(<br />
"assetTopic"<br />
,<br />
"/topic/com.cisco.endpoint.asset"<br />
);<br />
sessionProperties.put(<br />
"restBaseUrl"<br />
,<br />
"https://"</p>
<ul>
<li>config.getHostnames[<br />
0<br />
] +<br />
":8910/pxgrid/ind/asset/"<br />
);<br />
ServiceRegisterResponse response = control.serviceRegister(<br />
"com.cisco.endpoint.asset"<br />
, sessionProperties); 2. Создаю клиент PxGrid, подписываюсь на вышеуказанное и получаю информацию об активах конечной точки по мере ее публикации — успешно Пример кода: executor.scheduleWithFixedDelay( -&gt; {<br />
try {<br />
endpoint.subscribe(new StompSubscription("/topic/com.cisco.endpoint.asset", new EndpointAssetHandler));<br />
} catch (IOException e) {<br />
logger.error("Publish failure");<br />
}<br />
}, 0, 5, TimeUnit.SECONDS); Как я уже сказал, с помощью этого я успешно получаю информацию о<br />
НОВЫХ<br />
активах. 3. Однако представьте, что у меня есть конечные активы, которые предварительно зарегистрированы в ISE. Поэтому я делаю следующее: Service[] services = https.serviceLookup(<br />
"com.cisco.endpoint.asset"<br />
); Service service = services[<br />
0<br />
];<br />
String url = service.getProperties.get(<br />
"restBaseUrl"<br />
) +<br />
"getAssets"<br />
;<br />
logger<br />
.info(<br />
"url={}"<br />
, url);<br />
// pxGrid AccesssSecret for the node<br />
String secret = https.getAccessSecret(service.getNodeName);<br />
//SessionQueryRequest request = new SessionQueryRequest;<br />
<a href="//request.startTimestamp" rel="nofollow ugc">//request.startTimestamp</a> = startTimestamp;<br />
SampleHelper.<br />
postObjectAndPrint<br />
(url, config.getNodeName, secret, config.getSSLContext.getSocketFactory,<br />
""<br />
); Я получаю следующую ошибку 12:34:50.186 [main] INFO com.cisco.pxgrid.samples.ise.PxgridControl - AccountCreate request={"nodeName":"macSub"}<br />
12:34:50.504 [main] INFO com.cisco.pxgrid.samples.ise.PxgridControl - AccountCreate response={"nodeName":"macSub","password":"MKrcmgdnWHErLG25","userName":"macSub"}<br />
Password: MKrcmgdnWHErLG25<br />
12:34:50.511 [main] INFO com.cisco.pxgrid.samples.ise.PxgridControl - AccountActivate request={}<br />
12:34:50.690 [main] INFO com.cisco.pxgrid.samples.ise.PxgridControl - AccountActivate response={"accountState":"PENDING","version":"2.0.0.13"}<br />
12:35:50.695 [main] INFO com.cisco.pxgrid.samples.ise.PxgridControl - AccountActivate request={}<br />
12:35:50.714 [main] INFO com.cisco.pxgrid.samples.ise.PxgridControl - AccountActivate response={"accountState":"ENABLED","version":"2.0.0.13"}<br />
12:35:50.714 [main] INFO com.cisco.pxgrid.samples.ise.SessionQueryAll - pxGrid controller version=2.0.0.13<br />
12:35:50.722 [main] INFO com.cisco.pxgrid.samples.ise.PxgridControl - ServiceLookup request={"name":"com.cisco.endpoint.asset"}<br />
12:35:50.748 [main] INFO com.cisco.pxgrid.samples.ise.PxgridControl - ServiceLookup response={"services":[{"name":"com.cisco.endpoint.asset","nodeName":"mac1","properties":{"wsPubsubService":"com.cisco.ise.pubsub","restBaseUrl":"https://&lt;ISE_IP&gt;:8910/pxgrid/ind/asset/","assetTopic":"/topic/com.cisco.endpoint.asset"}}]}<br />
12:36:11.727 [main] INFO com.cisco.pxgrid.samples.ise.SessionQueryAll - url=https://&lt;ISE_IP&gt;:8910/pxgrid/ind/asset/getAssets<br />
12:36:40.250 [main] INFO com.cisco.pxgrid.samples.ise.PxgridControl - AccessSecret request={"peerNodeName":"mac1"}<br />
12:36:40.486 [main] INFO com.cisco.pxgrid.samples.ise.PxgridControl - AccessSecret response={"secret":"95v8KD3EF86RI1eA"}<br />
12:37:04.589 [main] INFO com.cisco.pxgrid.samples.ise.SampleHelper - postData=""<br />
12:37:04.716 [main] INFO com.cisco.pxgrid.samples.ise.SampleHelper - Response status=401<br />
Content: &lt;h1&gt;HTTP Status 401 – Unauthorized&lt;/h1&gt;&lt;hr class="line" /&gt;&lt;p&gt;&lt;b&gt;Type&lt;/b&gt; Status Report&lt;/p&gt;&lt;p&gt;<br />
&lt;b&gt;Message&lt;/b&gt; No AuthenticationProvider found for org.springframework.security.authentication.UsernamePasswordAuthenticationToken&lt;/p&gt;<br />
&lt;p&gt;&lt;b&gt;Description&lt;/b&gt; The request has not been applied because it lacks valid authentication credentials for the target resource.&lt;/p&gt;&lt;hr class="line" /&gt;&lt;h3&gt;&lt;/h3&gt;&lt;/body&gt;&lt;/html&gt; Ошибка гласит: 401 Неавторизован, однако я правильно получил секрет для службы публикации и peerNodeName и использовал его для аутентификации. Кроме того, как я уже сказал, я могу подписаться и получить вновь опубликованные конечные ресурсы. Я знаю, что могу получить информацию о существующих конечных активах непосредственно из ISE API, однако, поскольку вышеуказанный способ рекомендуется как<br />
НОВЫЙ<br />
способ работы и для поддержания согласованности с использованием<br />
ТОЛЬКО ОДНОГО<br />
набора API, было бы здорово узнать, где я делаю ошибку. Спасибо.</li>
</ul>
]]></description><link>https://sla247.ru/forum/topic/2236/pxgrid-api-для-getassets-не-работает</link><generator>RSS for Node</generator><lastBuildDate>Thu, 14 May 2026 22:26:33 GMT</lastBuildDate><atom:link href="https://sla247.ru/forum/topic/2236.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Mar 2026 12:02:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to PxGrid API для getAssets не работает on Mon, 02 Mar 2026 12:02:23 GMT]]></title><description><![CDATA[<p dir="auto">Я бы посоветовал вам попробовать использовать сертификат для аутентификации. А также попрошу Джона взглянуть на это. PS: Я перенес вашу дискуссию на форум поддержки разработчиков по вопросам безопасности для DevNet.</p>
]]></description><link>https://sla247.ru/forum/post/15825</link><guid isPermaLink="true">https://sla247.ru/forum/post/15825</guid><dc:creator><![CDATA[hslai]]></dc:creator><pubDate>Mon, 02 Mar 2026 12:02:23 GMT</pubDate></item><item><title><![CDATA[Reply to PxGrid API для getAssets не работает on Mon, 02 Mar 2026 12:02:22 GMT]]></title><description><![CDATA[<p dir="auto">Здравствуйте, Пожалуйста, напишите мне напрямую по электронной почте. Спасибо, Джон <a href="mailto:jeppich@cisco.com" rel="nofollow ugc">jeppich@cisco.com</a></p>
]]></description><link>https://sla247.ru/forum/post/15824</link><guid isPermaLink="true">https://sla247.ru/forum/post/15824</guid><dc:creator><![CDATA[jeppich]]></dc:creator><pubDate>Mon, 02 Mar 2026 12:02:22 GMT</pubDate></item></channel></rss>