亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

所有 KeyCloak 管理 API 調用上的 NullPointerException

所有 KeyCloak 管理 API 調用上的 NullPointerException

慕容森 2021-08-04 17:27:00
我正在嘗試使用 Java 客戶端調用 KeyCloak Admin API。無論我嘗試哪種操作 - 創建領域,創建用戶帳戶等 - 我都會收到以下異常:javax.ws.rs.ProcessingException: java.lang.NullPointerException at org.keycloak.admin.client.resource.BearerAuthFilter.filter(BearerAuthFilter.java:53) at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.filterRequest (ClientInvocation.java:573) 在 org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.invoke(ClientInvocation.java:438) 在 org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invoke(ClientInvoker) .java:102) 在 org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke(ClientProxy.java:76) 在 com.sun.proxy.$Proxy214.create(Unknown Source)我的 KeyCloak 代碼看起來像這樣......Keycloak kc = KeycloakBuilder.builder().realm("master").clientId("admin-cli").username("admin") .password("password").serverUrl("http://localhost:8880/auth")                .resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build()).build();RealmRepresentation realm = new RealmRepresentation();        realm.setDisplayName(displayName);        realm.setDisplayNameHtml(displayName);        realm.setRealm(realmName);        realm.setEnabled(enabled);kc.realms().create(realm);正是在這一點上,我看到了異常。關于這里可能出現什么問題的任何想法?我看到針對管理 API 的所有操作的異常。我知道數據可用,因為我能夠對管理 API 進行 curl 調用并且它工作正常。curl -vki -H "Authorization: Bearer XXXXX" http://localhost:8880/auth/admin/realms/master當我撥打這個電話時,我看到了預期的結果。我只在使用 Java 客戶端時失敗。知道這里發生了什么嗎?
查看完整描述

3 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

簡而言之(甚至可能太多了),有一個與 Resteasy 庫相關的錯誤,其中JsonBindingProvider優先于ResteasyJackson2Provider,這使得 json 有效負載中的某些屬性無法正確映射,并且它們的值會丟失。因此出現了 NullPointerException。


如果您使用 JBoss 或 WildFly,最簡單的解決方案應該是resteasy-json-binding-provider從jboss-deployment-structure.xml文件中的部署中排除模塊:


<jboss-deployment-structure>

    <deployment>

        <exclusions>

            <module name="org.jboss.resteasy.resteasy-json-binding-provider"/>

        </exclusions>

    </deployment>

</jboss-deployment-structure>


查看完整回答
反對 回復 2021-08-04
  • 3 回答
  • 0 關注
  • 315 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號