「java请求soap」java请求接口返回数据量较大

博主:adminadmin 2022-12-01 01:17:05 66

今天给各位分享java请求soap的知识,其中也会对java请求接口返回数据量较大进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java使用HTTPURLCONNECTION调用SOAP接口如何处理返回参数过大的问题

试试下面两种思路

可以分批次请求,一次返回一部分。 一般来说10M以内都是可以接受

服务器端返回一个文件,客户端直接接受文件。(这里接受文件肯定要用流的形式,不能用byte数组)

Java SOAP请求,无法创建 SOAP 消息。应为名称空间xx中的信封, 但得到的是xx

不是非要使用框架,

组合成那个xml,POST到服务器,就是SOAP1.2 的POST访问方式。

返回的XML,解析一下

这样做法比使用框架简单很多了

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

所用到的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等信息)。

关于java请求soap和java请求接口返回数据量较大的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。