无法从WSO2 API管理器3.1.0中介序列调用WSO2 IS-KM 5.10.0 SCIM2

如何解决无法从WSO2 API管理器3.1.0中介序列调用WSO2 IS-KM 5.10.0 SCIM2

出于服务链的目的,我必须从API管理器中介序列中调用SCIM2 Me端点。

向ADD用户发送POST方法效果很好,但是GET / PUT / DELETE方法不起作用。

我提供了序列中正在使用的Get方法的代码段。

        <property name="uri.var.tenantDomain" expression="get-property('tenantDomain')" scope="default" type="STRING"/>
        <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
        <property name="HTTP_METHOD" value="GET" scope="axis2" type="STRING"/>
        <property name="REST_URL_POSTFIX" scope="axis2" action="remove"/>
        <property name="messageType" value="application/scim+json" scope="axis2" type="STRING"/>
        <property name="ContentType" value="application/scim+json" scope="axis2" type="STRING"/>
        <property name="Authorization" expression="get-property('Credentials')" scope="transport" type="STRING"/>
        <call blocking="true">
            <endpoint>
                <http method="GET" uri-template="https://10.201.8.13:5004/t/{uri.var.tenantDomain}/scim2/Me"/>
            </endpoint>
        </call>

在调用端点时,出现以下错误。

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:Error"
    ],"detail": "Error from getting the authenticated user","status": "500"
}

当我在EI 6.6.0中为所有HTTP方法部署序列时,相同的代码可以正常工作。

ESB的WIRE日志

TID: [-1] [] [2020-09-21 10:48:35,898] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 >> "GET /test/getUser/me?domain=carbon.super HTTP/1.1[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,899] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 >> "Credentials: Basic YWRtaW46YWRtaW4=[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,899] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 >> "Content-Type: application/json[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,900] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 >> "User-Agent: PostmanRuntime/7.26.5[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,901] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 >> "Accept: */*[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,901] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 >> "Postman-Token: fb161eca-313f-4dd6-80b6-ffb98c2e5ffd[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,902] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 >> "Host: 10.201.8.13:5008[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,902] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 >> "Accept-Encoding: gzip,deflate,br[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,903] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 >> "Connection: keep-alive[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,903] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 >> "Cookie: sails.sid=s%3AKOx3WtbZXUQDOyAeVXwqhLeH17Nltb7v.OG8P3N29zzWPUzQMb1rv%2BGEF%2BXs84%2B2ctxI3OSUFa%2FU[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,904] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 >> "[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,904] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 >> "[\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,907]  INFO {org.apache.synapse.mediators.builtin.LogMediator} - To: /test/getUser/me?domain=carbon.super,MessageID: urn:uuid:04f6da34-36bc-4fd5-9036-a31eb8ec8a73,Direction: request,:: URI :: = /test/getUser/me?domain=carbon.super
TID: [-1234] [] [2020-09-21 10:48:35,908]  INFO {org.apache.synapse.mediators.builtin.LogMediator} - To: /test/getUser/me?domain=carbon.super,:: ResourceName :: = getUser/me?domain=carbon.super
TID: [-1234] [] [2020-09-21 10:48:35,909]  INFO {org.apache.synapse.mediators.builtin.LogMediator} - To: /test/getUser/me?domain=carbon.super,:: Credentials :: = Basic YWRtaW46YWRtaW4=,:: tenantDomain :: = carbon.super
TID: [-1234] [] [2020-09-21 10:48:35,910]  INFO {org.apache.synapse.mediators.builtin.LogMediator} - To: /test/getUser/me?domain=carbon.super,:: Inside :: = getUser/me?domain=carbon.super
TID: [-1234] [] [2020-09-21 10:48:35,911]  INFO {org.apache.synapse.mediators.builtin.LogMediator} - To: /test/getUser/me?domain=carbon.super,Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body/></soapenv:Envelope>
TID: [-1234] [] [2020-09-21 10:48:35,921] DEBUG {httpclient.wire.header} - >> "GET /t/carbon.super/scim2/Me HTTP/1.1[\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,921] DEBUG {httpclient.wire.header} - >> "Content-Type: application/scim+json; charset=UTF-8[\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,922] DEBUG {httpclient.wire.header} - >> "Authorization: Basic YWRtaW46YWRtaW4=[\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,922] DEBUG {httpclient.wire.header} - >> "User-Agent: Axis2[\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,922] DEBUG {httpclient.wire.header} - >> "Host: 10.201.8.13:5004[\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,923] DEBUG {httpclient.wire.header} - >> "[\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,981] DEBUG {httpclient.wire.header} - << "HTTP/1.1 200 [\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,981] DEBUG {httpclient.wire.header} - << "Location: https://10.201.8.13:5004/scim2/Users/83d21ce2-304d-482c-ab2e-84c14628c1a0[\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,982] DEBUG {httpclient.wire.header} - << "Date: Mon,21 Sep 2020 05:18:35 GMT[\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,982] DEBUG {httpclient.wire.header} - << "Content-Type: application/scim+json[\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,982] DEBUG {httpclient.wire.header} - << "Content-Length: 2885[\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,983] DEBUG {httpclient.wire.header} - << "Server: WSO2 Carbon Server[\r][\n]"
TID: [-1234] [] [2020-09-21 10:48:35,983] DEBUG {httpclient.wire.header} - << "[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,986] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "HTTP/1.1 200 OK[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,986] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "Authorization: Basic YWRtaW46YWRtaW4=[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,986] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "Access-Control-Allow-Methods: GET[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,987] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "Access-Control-Allow-Headers: content-type[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,987] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "Content-Type: application/scim+json; charset=UTF-8[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,987] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "Date: Mon,21 Sep 2020 05:18:35 GMT[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,987] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "Transfer-Encoding: chunked[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,988] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "Connection: keep-alive[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,988] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,988] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "b45[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,989] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "0[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,989] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "[\r][\n]"
TID: [-1] [] [2020-09-21 10:48:35,989] DEBUG {org.apache.synapse.transport.http.wire} - HTTP-Listener I/O dispatcher-5 << "[\r][\n]"

来自API管理器的WIRE日志

[2020-09-21 10:51:00,083] DEBUG - wire HTTPS-Listener I/O dispatcher-2 >> "GET /engageAPI/user/v1/getUser/me?domain=carbon.super HTTP/1.1[\r][\n]"
[2020-09-21 10:51:00,086] DEBUG - wire HTTPS-Listener I/O dispatcher-2 >> "Credentials: Basic YWRtaW46YWRtaW4=[\r][\n]"
[2020-09-21 10:51:00,087] DEBUG - wire HTTPS-Listener I/O dispatcher-2 >> "Content-Type: application/json[\r][\n]"
[2020-09-21 10:51:00,090] DEBUG - wire HTTPS-Listener I/O dispatcher-2 >> "User-Agent: PostmanRuntime/7.26.5[\r][\n]"
[2020-09-21 10:51:00,091] DEBUG - wire HTTPS-Listener I/O dispatcher-2 >> "Accept: */*[\r][\n]"
[2020-09-21 10:51:00,092] DEBUG - wire HTTPS-Listener I/O dispatcher-2 >> "Postman-Token: 5bf19c4e-41c2-4434-9ea0-9bb880efb94e[\r][\n]"
[2020-09-21 10:51:00,092] DEBUG - wire HTTPS-Listener I/O dispatcher-2 >> "Host: localhost:8243[\r][\n]"
[2020-09-21 10:51:00,092] DEBUG - wire HTTPS-Listener I/O dispatcher-2 >> "Accept-Encoding: gzip,br[\r][\n]"
[2020-09-21 10:51:00,093] DEBUG - wire HTTPS-Listener I/O dispatcher-2 >> "Connection: keep-alive[\r][\n]"
[2020-09-21 10:51:00,094] DEBUG - wire HTTPS-Listener I/O dispatcher-2 >> "[\r][\n]"
[2020-09-21 10:51:00,095] DEBUG - headers http-incoming-2 >> GET /engageAPI/user/v1/getUser/me?domain=carbon.super HTTP/1.1
[2020-09-21 10:51:00,096] DEBUG - headers http-incoming-2 >> Credentials: Basic YWRtaW46YWRtaW4=
[2020-09-21 10:51:00,096] DEBUG - headers http-incoming-2 >> Content-Type: application/json
[2020-09-21 10:51:00,098] DEBUG - headers http-incoming-2 >> User-Agent: PostmanRuntime/7.26.5
[2020-09-21 10:51:00,099] DEBUG - headers http-incoming-2 >> Accept: */*
[2020-09-21 10:51:00,099] DEBUG - headers http-incoming-2 >> Postman-Token: 5bf19c4e-41c2-4434-9ea0-9bb880efb94e
[2020-09-21 10:51:00,100] DEBUG - headers http-incoming-2 >> Host: localhost:8243
[2020-09-21 10:51:00,100] DEBUG - headers http-incoming-2 >> Accept-Encoding: gzip,br
[2020-09-21 10:51:00,101] DEBUG - headers http-incoming-2 >> Connection: keep-alive
[2020-09-21 10:51:00,663]  INFO - LogMediator {api:admin--UserManagement:vv1} To: /engageAPI/user/v1/getUser/me?domain=carbon.super,MessageID: urn:uuid:5231a3ae-ce89-4766-880c-3cd0b2f2f24d,:: URI :: = /engageAPI/user/v1/getUser/me?domain=carbon.super
[2020-09-21 10:51:00,664]  INFO - LogMediator {api:admin--UserManagement:vv1} To: /engageAPI/user/v1/getUser/me?domain=carbon.super,:: ResourceName :: = getUser/me?domain=carbon.super
[2020-09-21 10:51:00,666]  INFO - LogMediator {api:admin--UserManagement:vv1} To: /engageAPI/user/v1/getUser/me?domain=carbon.super,:: tenantDomain :: = carbon.super
[2020-09-21 10:51:00,667]  INFO - LogMediator {api:admin--UserManagement:vv1} To: /engageAPI/user/v1/getUser/me?domain=carbon.super,:: Inside :: = getUser/me?domain=carbon.super
[2020-09-21 10:51:00,689]  INFO - LogMediator {api:admin--UserManagement:vv1} To: /engageAPI/user/v1/getUser/me?domain=carbon.super,Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body/></soapenv:Envelope>
[2020-09-21 10:51:04,090] DEBUG - header >> "GET /t/carbon.super/scim2/Me HTTP/1.1[\r][\n]"
[2020-09-21 10:51:04,097] DEBUG - header >> "Content-Type: application/scim+json; charset=UTF-8[\r][\n]"
[2020-09-21 10:51:04,097] DEBUG - header >> "Authorization: Basic YWRtaW46YWRtaW4=[\r][\n]"
[2020-09-21 10:51:04,098] DEBUG - header >> "User-Agent: Axis2[\r][\n]"
[2020-09-21 10:51:04,099] DEBUG - header >> "Host: 10.201.8.13:5004[\r][\n]"
[2020-09-21 10:51:04,100] DEBUG - header >> "[\r][\n]"
[2020-09-21 10:51:04,141] DEBUG - header << "HTTP/1.1 500 [\r][\n]"
[2020-09-21 10:51:04,143] DEBUG - header << "HTTP/1.1 500 [\r][\n]"
[2020-09-21 10:51:04,145] DEBUG - header << "Date: Mon,21 Sep 2020 05:22:20 GMT[\r][\n]"
[2020-09-21 10:51:04,146] DEBUG - header << "Content-Type: application/scim+json[\r][\n]"
[2020-09-21 10:51:04,146] DEBUG - header << "Content-Length: 127[\r][\n]"
[2020-09-21 10:51:04,147] DEBUG - header << "Connection: close[\r][\n]"
[2020-09-21 10:51:04,147] DEBUG - header << "Server: WSO2 Carbon Server[\r][\n]"
[2020-09-21 10:51:04,148] DEBUG - header << "[\r][\n]"
[2020-09-21 10:51:04,183]  INFO - LogMediator {api:admin--UserManagement:vv1} To: https://localhost:5004/t/carbon.super/scim2/Me,Payload: {"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"detail":"Error from getting the authenticated user","status":"500"}
[2020-09-21 10:51:04,202] DEBUG - headers http-incoming-2 << HTTP/1.1 500 Internal Server Error
[2020-09-21 10:51:04,204] DEBUG - headers http-incoming-2 << Authorization: Basic YWRtaW46YWRtaW4=
[2020-09-21 10:51:04,205] DEBUG - headers http-incoming-2 << Content-Type: application/scim+json; charset=UTF-8
[2020-09-21 10:51:04,209] DEBUG - headers http-incoming-2 << Date: Mon,21 Sep 2020 05:21:04 GMT
[2020-09-21 10:51:04,212] DEBUG - headers http-incoming-2 << Transfer-Encoding: chunked
[2020-09-21 10:51:04,213] DEBUG - headers http-incoming-2 << Connection: keep-alive
[2020-09-21 10:51:04,216] DEBUG - wire HTTPS-Listener I/O dispatcher-2 << "HTTP/1.1 500 Internal Server Error[\r][\n]"
[2020-09-21 10:51:04,217] DEBUG - wire HTTPS-Listener I/O dispatcher-2 << "Authorization: Basic YWRtaW46YWRtaW4=[\r][\n]"
[2020-09-21 10:51:04,217] DEBUG - wire HTTPS-Listener I/O dispatcher-2 << "Content-Type: application/scim+json; charset=UTF-8[\r][\n]"
[2020-09-21 10:51:04,223] DEBUG - wire HTTPS-Listener I/O dispatcher-2 << "Date: Mon,21 Sep 2020 05:21:04 GMT[\r][\n]"
[2020-09-21 10:51:04,225] DEBUG - wire HTTPS-Listener I/O dispatcher-2 << "Transfer-Encoding: chunked[\r][\n]"
[2020-09-21 10:51:04,226] DEBUG - wire HTTPS-Listener I/O dispatcher-2 << "Connection: keep-alive[\r][\n]"
[2020-09-21 10:51:04,227] DEBUG - wire HTTPS-Listener I/O dispatcher-2 << "[\r][\n]"
[2020-09-21 10:51:04,228] DEBUG - wire HTTPS-Listener I/O dispatcher-2 << "7f[\r][\n]"
[2020-09-21 10:51:04,229] DEBUG - wire HTTPS-Listener I/O dispatcher-2 << "{"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"status":"500"}[\r][\n]"
[2020-09-21 10:51:04,230] DEBUG - wire HTTPS-Listener I/O dispatcher-2 << "0[\r][\n]"
[2020-09-21 10:51:04,230] DEBUG - wire HTTPS-Listener I/O dispatcher-2 << "[\r][\n]"

有人可以指导我吗?

解决方法

这是由于在APIM和IS版本中都启用了X509Certificate或基于证书的身份验证。因此,APIM发送证书属性名称,并且由于IS支持X509Certificate,因此,身份验证IS对此给予了优先考虑。由于EI不支持此功能,因此ESB没有问题。为了解决这个问题,我们可以在IS中禁用或降低基于X509Certificate的身份验证的优先级。

添加以下配置可以降低优先级并使其正常工作。因此,将其添加到 /repository/conf/deployment.toml

[[event_listener]]
id="x509Certificate_auth"
name="org.wso2.carbon.identity.auth.service.handler.impl.ClientCertificateBasedAuthenticationHandler"
order="1000"
type="org.wso2.carbon.identity.core.handler.AbstractIdentityMessageHandler"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?