java.lang.IllegalArgumentException:非法字符OpenIAM-SCIM连接器

时间:2019-06-25 16:18:46

标签: java json opendj scim

我正在尝试运行查询以使用SCIM连接器在OpenIAM中执行用户搜索。在Linux虚拟机上进行测试,攻击URL并使用OpenDJ,我可以通过其id过滤用户,并使用curl命令,并在每个控制台以JSON格式返回JSON数据时发出GET请求,但是当我运行该应用程序时,它会给我一个提示。错误:java.lang.IllegalArgumentException:查询中的非法字符

在CentOs控制台中,我使用以下语句与用户一起返回JSON:

curl  --request GET  --user admin:xxxxxxx "http://10.10.11.74:8081/api/users?_queryFilter=_id+pr&_prettyPrint=true"

输出:

{
  "result" : [ {
    "_id" : "Hector Un.Grifoll Un",
    "_rev" : "00000000ffe5a0e4",
    "_schema" : "frapi:opendj:rest2ldap:user:1.0",
    "_meta" : {
      "created" : "2019-03-15T10:49:53Z",
      "lastModified" : "2019-06-11T14:44:46Z"
    },
    "userName" : "asasf@aaeg.ee",
    "displayName" : [ "Hector Un Grifoll Un" ],
    "name" : {
      "givenName" : "Hector Un",
      "familyName" : "Grifoll Un"
    },
    "contactInformation" : {
      "emailAddress" : "asasf@aaeg.ee"
    }
  }

但是,当我运行该应用程序并将“搜索URL”放在一个字段中以使其自动化时,输出日志会向我显示非法字符异常。

这是我添加查询过滤器的字段。

enter image description here 日志显示了“非法字符”错误跟踪。

  

2019-06-25 18:11:31.727信息12162 --- [_TaskExecutor20] ooimlConnectorResponseListener:从后端中的连接器捕获了ADD响应:Response {status = FAILURE,errorCode = null,errorText ='Other Error:java。 lang.IllegalArgumentException:索引37处查询中的非法字符:10.10.11.74/api/users?_queryFilter=id"Scott.Nelson“',responseValue = null,errorTokenList = null,stacktraceText = null}

我认为Java有些不喜欢的东西,我想可能有些亲戚或钥匙,但无论如何我都尝试过。

1 个答案:

答案 0 :(得分:0)

不是_queryFilter=id eq "Scott.Nelson"吗?您可能需要对空格进行url编码。