CAS5.3.3 Service Registry is always empty?

541 views
Skip to first unread message

Yan Zhou

unread,
Sep 6, 2018, 2:13:17 PM9/6/18
to CAS Community
Hello, 

This is my external cas.properties, 

## windows
cas.serviceRegistry.json.location=file:///C:/mydir/cas/services      
cas.serviceRegistry.initFromJson=true

Here is my QuestLocal-10000001.json under  c:/mydir/cas/services, But I am not loading any service definition.  See below for logs.

{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "^https?://.*",
  "name" : "QuestLocal",
  "id" : 10000001,
  "description" : "This service definition",
  "evaluationOrder" : 10000,
  "attributeReleasePolicy" : {
    "@class" : "org.apereo.cas.services.ReturnAllAttributeReleasePolicy"
   },   
  "properties" : {
    "@class" : "java.util.HashMap",
    "jwtAsServiceTicket" : {
      "@class" : "org.apereo.cas.services.DefaultRegisteredServiceProperty",
      "values" : [ "java.util.HashSet", [ "true" ] ]
    }
  }  
}

What am I missing?

Thx!
Yan

2018-09-06 13:47:47,711 WARN [org.apereo.cas.config.CasCoreServicesConfiguration] - <Runtime memory is used as the persistence storage for retrieving and persis
ting service definitions. Changes that are made to service definitions during runtime WILL be LOST when the web server is restarted. Ideally for production, you
 need to choose a storage option (JDBC, etc) to store and track service definitions.>
2018-09-06 13:47:47,711 DEBUG [org.apereo.cas.services.DefaultServiceRegistryExecutionPlan] - <Registering service registry [InMemoryServiceRegistry] into the e
xecution plan>
2018-09-06 13:47:47,710 DEBUG [org.apereo.cas.services.AbstractServicesManager] - <Registering service registry [InMemoryServiceRegistry] into the execution pla
norg.apereo.cas.services.ChainingServiceRegistry@e311f93]>
2018-09-06 13:47:47,713 INFO [org.apereo.cas.services.AbstractServicesManager] - <Loaded [0] service(s) from [InMemoryServiceRegistry].>
2018-09-06 13:48:47,715 DEBUG [org.apereo.cas.services.AbstractServicesManager] - <Loading services from [org.apereo.cas.services.ChainingServiceRegistry@e311f9
3]>

David Curry

unread,
Sep 6, 2018, 2:19:51 PM9/6/18
to cas-...@apereo.org
Do you have this in pom.xml:

    <dependency>
        <groupId>org.apereo.cas</groupId>
        <artifactId>cas-server-support-json-service-registry</artifactId>
        <version>${cas.version}</version>
    </dependency>

(you should)? 

--

DAVID A. CURRY, CISSP
DIRECTOR OF INFORMATION SECURITY
INFORMATION TECHNOLOGY

71 FIFTH AVE., 9TH FL., NEW YORK, NY 10003
+1 212 229-5300 x4728david...@newschool.edu

The New School



--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cas-user+u...@apereo.org.
To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/905510e3-9497-4029-8df2-e025291026d7%40apereo.org.

Yan Zhou

unread,
Sep 6, 2018, 2:26:22 PM9/6/18
to CAS Community

Yes, I do have the dependency. 

I also removed   cas.serviceRegistry.initFromJson   from cas.properties, so that it default to false.

I am still not loading any service definition.  How can I debug this in CAS?

Yan

Jon Hawkesworth

unread,
Sep 6, 2018, 3:28:57 PM9/6/18
to cas-...@apereo.org
Hmm, is your customized cas.properties even getting loaded? 

Worth checking is where you are running cas from. If you are developing say on D: drive it might be looking for the cas.properties in D:\etc\cas\config. 

To debug, I recommend upping the log level to debug in your log4j2.xml for the core cas packages. 

Hope this helps, 

Jon

Yan Zhou

unread,
Sep 7, 2018, 10:44:02 AM9/7/18
to CAS Community, j...@unity.demon.co.uk
Thanks for the suggestion, I figured out something that is strange to me.  I am building cas.war and deploy to tomcat8. 

I have externalized a directory containing three configuration files: application.yml, log4j2.xml and cas.properties. 

if I put this following in cas.properties, it does not load my service definitions. 

cas.serviceRegistry.json.location=file:///C:/mydir/cas5-server/etc/cas/services    
#
#  cas.serviceRegistry.json.location=c:/mydir/cas5-server/etc/cas/services      // this does not work, either. 
#

but if I put this in application.yml, it does work.

cas:
  serviceRegistry:
    json:
      location: file:///C:/mydir/cas5-server/etc/cas/services    


Why is cas.properties not loaded, but application.yml is loaded (even though two files are in the same directory, specified by -Dcas.standalone.configurationDirectory?

Thanks,
Yan

Ray Bon

unread,
Sep 7, 2018, 1:24:18 PM9/7/18
to cas-...@apereo.org, j...@unity.demon.co.uk
Yan,

In default 5.3, I do not see application.yml. Do you need it? Does cas.properties load if you delete application.yml?

Ray
-- 
Ray Bon
Programmer analyst
Development Services, University Systems
2507218831 | CLE 019 | rb...@uvic.ca

Yan Zhou

unread,
Sep 7, 2018, 4:02:37 PM9/7/18
to CAS Community, j...@unity.demon.co.uk
that was it!!

i changed spring.application.name without realizing it has an impact on property loading.

Thx so much.

Yan
Reply all
Reply to author
Forward
0 new messages