java怎么调用domino中soap编码格式为doc/原意的webservice

 我来答
地瓜说机
2015-11-30 · TA获得超过2.9万个赞
知道大有可为答主
回答量:2.3万
采纳率:91%
帮助的人:1.1亿
展开全部
所用到的java知识就是URL、URLConnection、HttpURLConnection三个对象,本站很多博客中有详细介绍它们的使用,我这里就不多说了。下面介绍如何访问Webservice:

首先在Domino中发布一简单的Webservice,可以从IBM官网文章中找到学习的例子,如下在Designer中使用Java编写简单Webservice(这里不详细介绍如何创建/发布Websercive):DatabaseInfo 提供一接口getUserRolesArray,通过NotesID返回其拥有的所有角色名称。

Java代码
import lotus.domino.*;
import lotus.domino.types.*;
import java.util.Vector;

public class DatabaseInfo {
private Session session;
private AgentContext agentContext;
private Database db;

public DatabaseInfo () throws Exception {
session = WebServiceBase.getCurrentSession();
agentContext = session.getAgentContext();
db = agentContext.getCurrentDatabase();
}
public String[] getUserRolesArray (String userName) throws Exception {
Document doc = agentContext.getDocumentContext();
Vector v = getRoles(userName);
return (String[])v.toArray(new String[1]);
}
//获取账号拥有的角色名称
private Vector getRoles (String userName) throws Exception {
ACL acl = db.getACL();
ACLEntry entry = acl.getEntry(userName);
if (entry == null) {
return new Vector();
} else {
return entry.getRoles();
}
}
}

其次在Designer中创建一java脚本库,用于连接、发送Soap请求、返回结果的类:WebServiceClient 提供连接方法openWSDLURL,发送Soap请求并返回结果的方法sendSOAPRequest等
最后在Designer中创建一代理,可以使用java编写代理,也可以使用Lotusscript编写代理,下面以Lotusscript编写代理,调用上面编写java类访问Websercive(用java编写代理也可以直接调用)。
详细代码设计无法直接贴在上面,以附件方式上传,请见附件。
调试过程中可以通过SoapUI(最新版SoapUI3.6)测试Webservice接口,查看其调用Webserivce时发送的Soap请求(包括header、body等信息)。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式