1、在WS-AppServer Package中新建自定義類“C_MongoPackage”
2、添加自定義方法Method,expandDocument和findDocuments兩個方法。
3、方法設置兩個參數,分別是collectionName和JSONString。
4、由系統產生Java代碼
5、彈出以下“Generate Java Code on WS-AppServer Models”窗口。
6、由系統生產WebService
7、彈出Generate WebService Interface on WS-AppServer Models窗口。
接下來,分別發布Java代碼和WebService。
8、上傳MongoDB Java Driver包到系統上平臺上。
9、添加Java程序依賴Jar包,鼠標雙擊Java文件下的“XiaoywWSAppServerPackage”包,彈出“WS-AppServer Java Archive Definiton”窗口,在“Dependencies”頁面,通過“+”增加Jar包。此Jar包選自JARLIB里的mogo-java-driver⑵.12.4.jar文件。
10、把系統生成Java代碼上傳SVN。
11、同步代碼到Eclipse工程中。
12、在Eclipse中,完善以下代碼
package com.unicom.xiaoywwsappserverpackage;
import com.cordys.cpc.bsf.busobject.BusObjectConfig;
import com.cordys.cpc.bsf.busobject.BusObjectIterator;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.util.JSON;
public class C_MongoPackage extends C_MongoPackageBase
{
......
//輸入參數,collectionName:文檔名稱, JSONString:MongoDB所辨認JSON數據格式數據字符串
public static void expandDocument(String collectionName, String JSONString)
{
DB db = null;
try {
MongoClientURI uri = new MongoClientURI("mongodb://username:password@10.64.52.120:27017/dbname");
//username:數據庫用戶名、 password:密碼、 dbname:數據庫名稱
MongoClient client = new MongoClient(uri);
db = client.getDB(dbname);
DBCollection collection = db.getCollection(collectionName);
DBObject query = (BasicDBObject) JSON.parse(JSONString);
collection.save(query);
} catch (Exception e) {
e.printStackTrace();
} finally{
if (db!=null){
try{
db.requestDone();
db=null;
}catch(Exception e) {
e.printStackTrace();
}
}
}
}
13、在Eclipse中,通過Team->提交帶回到平臺中,再“Java - Publish to Organization”,編譯發布代碼到平臺中使用。
14、測試界面以下:
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<ExpandDocument xmlns="http://schemas.cordys.com/XiaoywWSAppServerPackage" preserveSpace="no" qAccess="0" qValues="">
<collectionName>BusinessEntity</collectionName>
<JSONString>{"ID":"2015040010","Name":"采購流程","Dept":"經營管理部"}</JSONString>
</ExpandDocument>
</SOAP:Body>
</SOAP:Envelope>
15、數據庫插入結果以下所示: