@@ -322,21 +322,44 @@ public async Task InitRegistry(List<AasxCredentialsEntry> cList, DateTime timest
322322 var json = response . Content . ReadAsStringAsync ( ) . Result ;
323323 if ( ! string . IsNullOrEmpty ( json ) )
324324 {
325-
326- var urls = new List < string > ( ) ;
327- var jsonArray = JsonNode . Parse ( json ) ? . AsArray ( ) ;
328-
329- if ( jsonArray != null )
330- {
331- foreach ( var item in jsonArray )
332- {
333- var url = item ? [ "url" ] ? . ToString ( ) ;
334- if ( ! string . IsNullOrEmpty ( url ) && ! getRegistry . Contains ( url ) )
335- {
336- getRegistry . Add ( url ) ;
337- }
338- }
325+ if ( requestPath . EndsWith ( "/registry-descriptors" ) )
326+ {
327+ var jsonArray = JsonNode . Parse ( json ) ? . AsArray ( ) ;
328+
329+ if ( jsonArray != null )
330+ {
331+ foreach ( var item in jsonArray )
332+ {
333+ var url = item ? [ "url" ] ? . ToString ( ) ;
334+ if ( ! string . IsNullOrEmpty ( url ) && ! getRegistry . Contains ( url ) )
335+ {
336+ getRegistry . Add ( url ) ;
337+ }
338+ }
339+ }
339340 }
341+ if ( requestPath . EndsWith ( "/company_endpoints" ) )
342+ {
343+ var root = JsonNode . Parse ( json ) ;
344+ var endpoints = root ? [ "data" ] ? [ "endpoints" ] ? . AsArray ( ) ;
345+
346+ if ( endpoints is not null )
347+ {
348+ foreach ( var ep in endpoints )
349+ {
350+ var type = ep ? [ "type" ] ? . GetValue < string > ( ) ;
351+ if ( string . Equals ( type , "aas-registry" , StringComparison . OrdinalIgnoreCase ) )
352+ {
353+ var url = ep ? [ "url" ] ? . GetValue < string > ( ) ;
354+ if ( ! string . IsNullOrWhiteSpace ( url ) &&
355+ ! getRegistry . Contains ( url , StringComparer . OrdinalIgnoreCase ) )
356+ {
357+ getRegistry . Add ( url ) ;
358+ }
359+ }
360+ }
361+ }
362+ }
340363 }
341364
342365 error = ! response . IsSuccessStatusCode ;
0 commit comments