当前位置: 首页 > 知识库问答 >
问题:

无法在openfire上使用igniterealTime/rest-api-client创建用户

彭鹭洋
2023-03-14

我正在尝试使用rest API客户端创建一个用户。我遵循了以下文档https://github.com/igniterealtime/rest-api-client

虽然我可以通过ARC/POSTMAN创建用户,但当我尝试通过编程时,我会得到以下异常。

AuthenticationToken authenticationToken = new AuthenticationToken(Constants.SHARED_SECRET_KEY);
RestApiClient restApiClient = new RestApiClient(Constants.REST_API_URL, Constants.REST_API_PORT, authenticationToken);

UserDetails userDetails = getUserDetails();
UserEntity userEntity = new UserEntity();
userEntity.setName(userDetails.getName());
userEntity.setEmail(userDetails.getEmail());
userEntity.setPassword(Constants.DEFAULT_PASSWORD);
userEntity.setUsername(userDetails.getName());
restApiClient.createUser(userEntity);  
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.navigation:navigation-fragment:2.3.0'
implementation 'androidx.navigation:navigation-ui:2.3.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

implementation "org.igniterealtime.smack:smack-tcp:4.2.0"
implementation "org.igniterealtime.smack:smack-experimental:4.2.0"
implementation ("org.igniterealtime.smack:smack-android:4.2.0"){
    exclude module: 'smack-omemo'
    exclude module: 'smack-omemo-signal'
}

implementation ('org.igniterealtime:rest-api-client:1.1.5'){
    exclude module: 'javax.inject'
}
implementation 'javax.inject:javax.inject:1'

注意:我必须从org.igniterealtime:rest-api-client:1.1.5中排除“javax.inject”模块,因为它导致在模块jetified-javax.inject-1.jar(javax.inject:1)和jetified-javax.inject-2.5.0-b05.jar(org.glassfish.hk2.external:javax.inject:2.5.0-b05)中发现重复的javax.inject类

共有1个答案

朱雅惠
2023-03-14

您需要添加jersey媒体依赖项。

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-jaxb</artifactId>
    <version>2.17</version>
</dependency>
 类似资料:
  • 我正在尝试在分布式模式下运行Kafka辅助角色。与独立模式不同,我们在分布式模式下启动辅助角色时无法传递连接器属性文件。在分布式模式下,辅助角色是单独启动的,我们使用REST API部署和管理这些辅助角色上的连接器 参考链接 - https://docs.confluent.io/current/connect/managing/configuring.html#connect-managing-

  • 我是弹性搜索的新手,并试图通过以下文章为应用程序集成自动完成功能:https://www.elastic.co/blog/you-complete-me。 我也遵循下面的方法来做同样的事情。 感谢任何帮助

  • 问题内容: 我正在创建我的第一个API,如果向其传递两个值,则应该以JSON格式获取响应。该数字将由POST作为参数传递。使用cURL或任何可用的POST方法。 即使这是非常基础的,我也想知道最佳实践,并且应该基于模型控制器来创建API。不只是普通的PHP。 我已经搜索了许多REST API教程。他们很好,我对此有所了解。 但是,我想获得一个代码示例模型,以便我可以引用它并构建自己的代码,当然,该

  • 我正在尝试使用这个api,这是链接 我已经在我的控制器中尝试过了 在我的日程安排程序中 而他们都没能拿到汇率。 为什么我不能使用rest模板获得汇率。

  • 我按照https://github.com/Kubernetes/sample-controller的示例创建了一个Kubernetes CRD。 我看了一下其他标准类型,我不知道他们是否实现了这样的接口。我在谷歌上搜索,但没有得到任何运气。 有什么想法吗?请帮忙。顺便说一句,我在Minikube上跑步。

  • 问题内容: 我正在尝试使用smack 4.1.0运行此代码 这给我一个错误: 并且,在本地openfire服务器中启用调试后,我收到以下消息: 我要去哪里错了? 问题答案: 根据与用户问题的讨论,AS位于XMPPTCPConnectionConfiguration中。默认情况下,Openfire中的端口5223是客户端SSL端口, 服务器>>服务器设置>>客户端连接 错误 org.jivesoft