Domino R8+版本编写及调用webservice

来源:互联网 发布:c语言简单计算程序实例 编辑:程序博客网 时间:2024/05/17 02:53


【背景】

随着web系统业务的深入开发,与第三方系统集成的需求越来越多,系统之间集成的方法也比较多,如通过jdbcodbc直接与关系数据库进行增、删、改操作,本文主要介绍通过webservice与第三方系统集成方法。

 

【基础要求】

        1Webservice提供者(designer7版本web服务)

        domino服务器:7以上版本

        designer客户端:7以上版本

        2webservice使用者

        domino服务器:8以上版本

        designer客户端:8以上版本

 

webservice提供者】

        供第三方系统调用与domino系统集成的webservice接口。

        新建步骤如下:

        Designer客户端-->数据库-->代码-->Web Service提供者-->新建

        WebService属性见截图:

 

 

        参考代码:

 

Class OATypePublic sTypeID As String'类型编码Public sTypeName As String'类型名称End ClassClass ImportOATypePrivate session As NotesSessionPrivate db As NotesDatabaseSub newSet session = New NotesSessionSet db = session.CurrentDatabaseEnd SubPublic Function createType(arrType() As OAType) As BooleanOn Error Goto errHandleDim i As IntegerDim doc As NotesDocumentcreateType = FalseFor i=0 To Ubound(arrType)Set doc = db.CreateDocument()doc.Form = "WebserviceEmpForm"doc.StTypeID = arrType(i).sTypeIDdoc.StTypeName = arrType(i).sTypeNameCall doc.Save(True,False)NextcreateType = TrueExit Functionerrhandle:Msgbox "createType函数出错,出错信息:" & Error & ",出错行:" & Cstr(Erl())Exit FunctionEnd FunctionEnd Class

webservice地址:http://<服务器地址>/<数据库路径>/<webservice提供者>?wsdl

建议数据库ACL支持anonymous,否则调用时还需提供用户名、密码。

webservice使用者】

        domino调用第三方系统的webservice接口。

        新建步骤如下:

        1Designer客户端-->数据库-->代码-->Web Service使用者-->新建

        2、选择指向WSDL文件的URL”,并输入webservicewsdl地址

        点击确定,生成Web Service使用者的设计元素,可直接在代理中引用,类似于脚本库的功能,参见下面调用webservice代码:Use "testweb3"。

 

【调用webservice代码】

%REMAgent ExecuteWebserviceCreated 2012-6-13Description: Comments for Agent%END REMOption PublicOption DeclareUse "testweb3"Sub InitializeOn Error GoTo errhandleDim ss As New NotesSessionDim i As IntegerDim arrOaType(1) As OatypeFor i=0 To UBound(arrOaType)Set arrOaType(i) = New OatypearrOaType(i).Stypeid = "000" & iarrOaType(i).Stypename = "类型" & iMsgBox "i==" & iNextDim createType As New ImportoatypeDim bReturn As BooleanCall createType.Createtype(arrOaType)'bReturn = createType.Createtype(arrOaType)MsgBox "成功!"Exit Suberrhandle:MsgBox ss.CurrentDatabase.FilePath + "数据库中的"+ ss.CurrentAgent.name+"代理的 Initialize 方法发生错误:"+Error + ", 错误行号:" + CStr(Erl())Exit subEnd Sub


这样子看来,是不是webservice也没有那么神秘了?


数据库下载链接:点击打开链接

2 0
原创粉丝点击