Soap UI Groovy 脚本访问授权的MongoDB
来源:互联网 发布:java jface 编辑:程序博客网 时间:2024/06/03 16:01
Soap UI Groovy脚本访问授权的MongoDB
备注:根据自己的遇见的问题写的随笔,不一定通用,仅供参考
问题:
通过NOSQLManager连接授权的MongoDB,连接成功。
通过Groovy脚本连接授权的MongoDB,授权方式是:SCRAM-SHA-1+用户名+密码,因为授权失败连接不成功。
开始用的是:MongoCredential.createScramSha1Credential
MongoCredential credential =MongoCredential.createScramSha1Credential("mongodb","NGSystem",Psw as char[])
Error信息:
com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=XX.XX.XX.XX:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='mongodb', source='NGSystem', password=, mechanismProperties={}}}, caused by {com.mongodb.MongoCommandException: Command failed with error 18: 'Authentication failed.' on server XX.XX.XX.XX:27017. The full response is { "ok" : 0.0, "code" : 18, "errmsg" : "Authentication failed." }}}] error at line: 43
解决方案:
把以下Jar包Copy到SoapUIPro Bin/ext和lib目录下:
mongodb-driver-3.4.0-rc1.jar
mongo-java-driver-3.4.0-rc1.jar
gmongo-1.5.jar
2.因为从v3.0 +版本才开始使用SCRAM-SHA-1授权方式,所以要求mongo-java-driver版本在3.0以上,同时一定要删除旧版本的mongo-java-driver,否则默认使用旧版本的构造方法。
3.把MongoCredential.createScramSha1Credential换成MongoCredential.createCredential
Groovy代码:
import java.util.*;
import com.gmongo.GMongoClient
import com.mongodb.MongoCredential
import com.mongodb.ServerAddress
import com.mongodb.MongoClientOptions
importcom.mongodb.client.MongoDatabase;
credentials =MongoCredential.createCredential('mongodb', 'admin', 'mongodb' as char[])
//MongoClientOptions options = MongoClientOptions.builder().serverSelectionTimeout(1000)
GMongoClient client = new GMongoClient(newServerAddress("XX:XX:XX:XX",27017), [credentials])
def DB= client.getDB("NGSystem").Role.find()
DB.each
{
log.info(it)
}
- Soap UI Groovy 脚本访问授权的MongoDB
- mongodb未授权访问脚本
- Groovy in SOAP UI
- Groovy in SOAP UI
- 基于Docker的MongoDB实现授权访问
- 基于Docker的MongoDB实现授权访问
- 基于Docker的MongoDB实现授权访问的方法
- nGrinder 的 Groovy 脚本使用指南(Groovy 脚本结构)
- MongoDB数据库未授权访问漏洞
- MongoDB的授权和权限
- MongoDB的授权和权限
- groovy脚本
- nGrinder 的 Groovy 脚本使用指南(Groovy maven 结构)
- soap ui
- Groovy 脚本的多种运行方法
- groovy脚本导致的FullGC问题
- Groovy 脚本的多种运行方法
- groovy之动态脚本的使用
- 操作符重载_复数运算
- Android手机Fiddler2抓包教程
- SpringMVC 启动报错,conflicts with existing, non-compatible bean definition of same name and class ...
- ArcGIS制图表达Representation实战篇1-边界线和行道树制作
- 格雷码
- Soap UI Groovy 脚本访问授权的MongoDB
- 广播接收者
- 数据抽取
- ConcurrentHashMap原理分析
- git 创建别名
- 深入理解javascript原型和闭包(13)-【作用域】和【上下文环境】
- java short i=1;i += 1;System.out.println(i);与i = i+1的区别
- CGI
- goLang 多线程抓取网页数据