加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Lotus domino 8.5 WebService 二 (LotusScript消费WebService)

发布时间:2020-12-17 01:21:55 所属栏目:安全 来源:网络整理
导读:开发工具: MyEclipse 8 Lotus Domino 8.5 平台: Windows XFire1.2 (WebService) ? 1. 新建web工程 2. 用MyEclipse自动导入XFire包 3. 创建测试类 接口:IUserInfo.java 实现类:UserInfoImpl.java 4.代码: ------------------------------- IUserInfo.jav

开发工具:

MyEclipse 8

Lotus Domino 8.5

平台:

Windows

XFire1.2 (WebService)

?

1. 新建web工程

2. 用MyEclipse自动导入XFire包

3. 创建测试类

接口:IUserInfo.java

实现类:UserInfoImpl.java

4.代码:

-------------------------------

IUserInfo.java:

public interface IUserInfo {
?
?public String getUserInfoXml(int iID);

?
}

-------------------------------

UserInfoImpl.java:

?

public class UserInfoImpl implements IUserInfo {
?
?public String getUserInfoXml(int iUserID) {
??StringBuffer infoBuffer = new StringBuffer("<?xml version=/"1.0/" encoding=/"UTF-8/"?>");
??if(iUserID>0){
???infoBuffer.append("user id is").append(iUserID);
??}else{
???infoBuffer.append("no user id");
??}
??return infoBuffer.toString();
?}

}

5. 让MyEclipse自动创建WebService Client

生成后类如图:

?

6. 测试WebService服务http://localhost:8080/XFireDemo91/services/UserInfo?wsdl,并另存为UserInfo.wsdl文件以备用。

7. domino中新建代理WebService使用者UserInfoLotusService:

新建使用者,输入http://localhost:8080/XFireDemo91/services/UserInfo?wsdl,会自动创建service代码:

?

%INCLUDE "lsxsd.lss"
Const n0 = "http://service.sxwd.com"
Class UserInfoPortType_n0 As PortTypeBase
?
?Sub NEW
??Call Service.Initialize ("HttpServiceSxwdComUserInfo",_
??"UserInfo.UserInfoHttpPort","http://localhost:8080/XFireDemo91/services/UserInfo",_
??"UserInfoPortType_n0")
??
?End Sub
?

'注意这个地方返回的是XSD_STRING类型,在java中返回的是String类型
?Function getUserInfoXml(in0 As Long) As XSD_STRING
??Set getUserInfoXml = Service.Invoke("getUserInfoXml",in0)
?End Function
?
End Class

8. 新建代理,调用WebService使用者:

'--------------------

Option Public
Option Declare
Use "UserInfoLotusService"

'--------------------

Sub Initialize
?Dim session As New NotesSession
?
?Dim service As UserInfoPortType_n0
?Set service = New UserInfoPortType_n0
?
?'定义为Xsd_string,在ls中式自定义类型
?Dim result As Xsd_string
?
?
?Set result = service.getUserInfoXml(3)
?'将Xsd_string类型的结果转为String类型,输出
?Msgbox result.Getvalueasstring()
?
End Sub

?

9. 执行此代理,输出user id is 3成功!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读