CAS:Service Ticket / CAS-Server回复为空

时间:2016-10-12 16:15:52

标签: c++ rest cas

我使用RESTful API,当我使用TGT在Property 'widgetId' does not exist on type 'CustomEvent'请求ST时,我的CAS服务器会抛出这个:

https://www.mysite.de/cas/v1/tickets/" + tgt

当我在我的控制台中打印出我的回复时,我得到:

2016-10-12 18:07:39,168 DEBUG [org.springframework.webflow.mvc.servlet.FlowHandlerMapping] - <No flow mapping found for request with URI '/cas/v1/tickets/TGT-**********************************************6rXJ4WKxmo-cas01.example.org'> 2016-10-12 18:07:39,168 DEBUG [org.springframework.webflow.mvc.servlet.FlowHandlerMapping] - <No flow mapping found for request with URI '/cas/v1/tickets/TGT-**********************************************6rXJ4WKxmo-cas01.example.org'> 2016-10-12 18:07:39,168 WARN [org.springframework.web.servlet.PageNotFound] - <No mapping found for HTTP request with URI [/cas/v1/tickets/TGT-**********************************************6rXJ4WKxmo-cas01.example.org] in DispatcherServlet with name 'cas'>

Service Ticket: 0♠是我通过这样做得到的回应:

0♠

我想我在这里有误会。我只是假设回复是QByteArray replyData = reply->readAll(); QString serviceTicket = QString::fromAscii(replyData.data()); fprintf(stderr, "Service Ticket: %s\n", QString::fromAscii(replyData.data())); 或者至少会以正确的方式转换。答案是否有可能无法像那样转换的格式?如果是,我需要做什么?

如果这不是原因并且回复只是一个空间回复或其他内容,则上述QString信息可能表明我的问题是什么。

我是否可能必须对DEBUG进行任何其他更改才能让REST在此工作?我所做的一切都来自this source

编辑:好像是来自CAS 4.2.6的错误。我降级到4.2.5,现在当我通过RESTful APi发送加密的TGT时,我在CAS服务器上得到NullPointerException

1 个答案:

答案 0 :(得分:0)

原来这是CAS 4.2.6中的一个错误。在战争中转到WEB-INF\lib\cas-server-webapp-support-4.2.6.jar\META-INF\spring\web-ctx-config.xml并更改此信息:

<bean id="urlPathHelperWeb" class="org.springframework.web.util.UrlPathHelper"
          p:alwaysUseFullPath="true" />

到此:

<bean id="urlPathHelperWeb" class="org.springframework.web.util.UrlPathHelper"
          p:alwaysUseFullPath="false" />