在Infopath 2010中调用Web Service
刚刚和同事讨论了一个关于在InfoPath中调用Web Service的问题。
需求: 我需要在InfoPath表单中通过输入用户名来获得用户的其他信息,例如:部门, 上级等等。 并且通过无代码的方式实现。
环境: SharePoint Server 2010, InfoPath 2010.
技术:
1. 在SharePoint Server 2010 中有一个 “User Profile Service Web service” 可以用来调用用户数据;
2. Infopath中可以添加 数据来接来读取外部的数据。
步骤:
1. 创建一个空的InfoPath 2010表单;
2. 添加两个字段(字符串类型),然后把基于字段的控件添加到InfoPath表单上;
3. 添加一个按钮;
4. 添加数据连接;
5. 输入 User Profile Web Service的地址 http://servername/_vti_bin/userprofileservice.asmx
6. 选择 “GetUserPropertyByAccountName” 方法
7. 有两个参数需要输入: “accountName” and “propertyName”. 我们暂时只为“propertyName” 字段指定一个默认值“Department”
8. 完成。
到现在为止,完成所有的步骤了吗?没有!我们还没有把Web Service的参数和InfoPath的控件联系起来。 在我的例子中查询操作是由button控件的”Rules“完成的。 所有,有三件事情需要button控件去做: 为表Web Service的参数赋值;查询; 获得返回参数;
9. 为button控件添加三个Rules;
a. Set a field’s Value: Field: accountName; Value: UserName
b. Query for Data:
c. Set a field’s value: Field: Department; Value: Value
10. 保存模板。
11. 你可以预览或者发布到SharePoint的表单库进行测试。
请确保当前的应用程序”没有启用匿名登录“否则,你将会得到如下的错误” Server was unable to process request. ---> Attempted to perform an unauthorized operation.”
Good luck.
努力不一定成功,但放弃一定失败!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端