问题标签 [ucwa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1477 浏览

java - 通过 ucwa lync 2013 发送消息

我正在使用这个实验性 api https://github.com/mtorak/java-lync-client连接到我们的 lync 2013 服务器。

但是它根本不起作用。我可以将包部署到 jboss 7.1.1 调用 web 服务,但答案是否定的。日志显示以下内容:

12:03:23,927 INFO [stdout] (http-localhost-127.0.0.1-8080-1) REQUEST 1:https://lyncdiscover.example.com/Autodiscover/AutodiscoverService.svc/root?originalDomain=example.com 12:03:23,931 INFO [stdout] (http-localhost-127.0.0.1-8080-1) ------------------------------- 12:03:23,933 INFO [stdout] (http-localhost-127.0.0.1-8080-1) ----Request Headers---- 12:03:23,935 INFO [stdout] (http-localhost-127.0.0.1-8080-1) [Lorg.apache.http.Header;@123fb1a8 12:03:26,367 INFO [stdout] (http-localhost-127.0.0.1-8080-1) HTTP/1.1 403 Forbidden ( The server denied the specified Uniform Resource Locator (URL). Contact the server administrator. ) 12:03:26,444 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) org.codehaus.jackson.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') 12:03:26,446 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at [Source: java.io.StringReader@1e196a60; line: 1, column: 2] 12:03:26,448 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1433) 12:03:26,449 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.codehaus.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:521) 12:03:26,451 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.codehaus.jackson.impl.JsonParserMinimalBase._reportUnexpectedChar(JsonParserMinimalBase.java:442) 12:03:26,454 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.codehaus.jackson.impl.ReaderBasedParser._handleUnexpectedValue(ReaderBasedParser.java:1198) 12:03:26,455 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.codehaus.jackson.impl.ReaderBasedParser.nextToken(ReaderBasedParser.java:485) 12:03:26,457 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2770) 12:03:26,459 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2718) 12:03:26,461 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.codehaus.jackson.map.ObjectMapper.readTree(ObjectMapper.java:1542) 12:03:26,462 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at com.comverse.lync.LyncClient.authenticate(LyncClient.java:537) 12:03:26,464 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at com.comverse.lync.LyncClient.createApplication(LyncClient.java:620) 12:03:26,465 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at com.comverse.lync.servlet.LyncGatewayServlet.queryPresence(LyncGatewayServlet.java:107) 12:03:26,467 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at com.comverse.lync.servlet.LyncGatewayServlet.doGet(LyncGatewayServlet.java:59) 12:03:26,469 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) 12:03:26,471 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 12:03:26,472 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) 12:03:26,475 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) 12:03:26,478 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) 12:03:26,481 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) 12:03:26,483 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) 12:03:26,486 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) 12:03:26,488 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 12:03:26,490 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 12:03:26,493 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) 12:03:26,495 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) 12:03:26,497 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) 12:03:26,499 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) 12:03:26,501 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at java.lang.Thread.run(Thread.java:744)

我查看了代码,我知道它失败的地方,这才是真正的开始。

在 authenticate() 方法中有以下调用。

似乎 doFirstRequest() 正在执行获取,但服务器拒绝了它。

我试图在 Firefox 中访问相同的 url,我得到了答案,我没有被拒绝。

客户端设置如下:

private static final String LYNC_DISCOVERY_URL_KEY = "lyncDiscoveryUrl"; private static final String LYNC_DISCOVERY_URL_VALUE = "https://abs.example.com/Autodiscover/AutodiscoverService.svc/root?originalDomain=example.com";

如何使用 java 从 linux 连接到 Lync 2013?

非常感谢您提前提供的帮助。

0 投票
1 回答
1108 浏览

lync - 使用 UCWA 拨打电话

我(希望)有一个非常简单的问题。

有没有办法通过 UCWA 创建呼叫?

当我说通过 UCWA 创建呼叫时,我的意思是在我的浏览器中输入一个电话号码,UCWA 将首先在我的办公室拨打我的号码,然后当我拿起电话时,我会听到拨号音,因为我会打电话给网站上提供的号码。

UCWA 可以做到这一点吗?如果没有,你能推荐其他可以做到的吗?

非常感谢您的任何回答。

0 投票
4 回答
2472 浏览

javascript - Lync UCWA - 创建应用程序提供 HTTP 409:冲突错误

在过去的几天里,我一直在尝试使用 Microsoft 的 UCWA API(REST API)为我们的 Lync 服务开发一个应用程序。要使应用程序正常工作:我首先必须使用对某个 URL 的 POST 请求将其提交给 API。首先,我必须通过服务器进行身份验证,我通过向 API 发布用户名和密码凭据来做到这一点。然后我得到一个访问令牌,我可以通过在每个请求的标头中发布令牌来向 API 发出进一步的请求。我已经能够使访问令牌正常工作,但是当我尝试通过向https://lyncextws.company.com/ucwa/oauth/v1/applications发布 HTTP 请求来注册应用程序时:事情将开始出错。

所有这一切都是通过一个使用 iframe 绕过同源策略的 JavaScript 文件完成的。

这是我的代码目前的样子:

当我运行此代码时:最后一个 ajax 查询返回错误 409:冲突,当它应该返回 201:已创建

这是我的浏览器(谷歌浏览器)输出: 我的浏览器在 Google Chrome 的开发者控制台中输出的内容

401: Unauthorized 错误应该发生,但 409 Conflict 不应该发生。所以这是我的问题: 谁能发现为什么我得到这个 409 错误而不是我应该得到的 201?

Microsoft 的示例代码似乎运行良好,但我想避免使用它,因为我需要很长时间才能熟悉它。

如果缺少数据,您需要发现问题:在评论中告诉我,我会提供!

0 投票
1 回答
154 浏览

ucma - 在 Lync 2013 体系结构上迁移 UCMA 3 应用程序

我有一个当前正在运行的 UCMA 3.0 应用程序,该应用程序在 Lync 2010 应用程序服务器上运行并注册到 Lync 2010 前端服务器。我需要将它部署在新的 Lync 2013 架构上。我的应用程序非常简单,它只返回用户的在场状态。我有一个用于访问它的网络服务。

我找到了这篇文章:这里

我看到了 3 种方法来做到这一点:

  • 在 Lync 2013 体系结构上使用 UCMA 3.0: 在这种情况下,我需要在应用程序服务器上安装 Lync Server 2010 和 UCMA 3,并将我的应用程序池注册到 Lync 2013 前端。那样行吗?您认为该解决方案是否可以与 UCMA 4 解决方案一样有效?

  • 将我的 UCMA 3.0 应用程序迁移到 UCMA 4.0 应用程序: 我是否只需要使用 UCMA 4 SDK 重新编译我的应用程序?你知道这两个版本之间是否有很多变化吗?

  • 将我的应用程序重新开发为 UCWA 应用程序: 我听说 UCWA 也提供了 precence 功能。而且在未来开发、部署和维护似乎都非常简单。

哪一个是最适合您的解决方案?

谢谢你的帮助。

0 投票
1 回答
383 浏览

lync - 删除通过 UCWA 为过期应用程序安排的 Lync 2013 会议

我正在尝试删除通过 UCWA 创建的已安排的在线会议,但我不能。

我正在使用 MS Lync UCWA SDK,如下所示:

我得到的是:

responseText: "{"code":"NotFound","subcode":"ApplicationNotFound","message":"发生错误。请重试。如果问题仍然存在,请联系您的支持团队。"}"

那么,如何删除通过 UCWA 为过期的 UCWA 应用程序安排的 Lync 2013 在线会议?

0 投票
1 回答
755 浏览

lync-2013 - UCWA 用户进入“非活动状态”,并保持在那里直到端点被杀死

我们正在使用http://ucwa.lync.com/上的示例并登录到我们自己的拓扑。

大约 5 分钟后,登录用户“离开”(可用性更改为“IdleOnline”)。一旦发生这种情况,我将不再能够将新的存在状态(例如“在线”)推送到用户的服务器。Busy”变为“IdleBusy”,“DoNotDisturb”、“BeRightBack”和“Away”都反映推送状态,但发送“Online”返回“IdleOnline”。再过5分钟后,可用性变为“Away”,并且此时不再可能向该用户推送更新的新状态。

更改笔记仍然可以正常工作。

要重置锁定的“IdleOnline”状态,我必须注销用户并重新验证他的身份。

(注意:如果用户没有保持其活动的 Lync 客户端,则会发生这种情况)

是否有任何其他方法可以“重新初始化/戳”用户以将在线状态返回到在线,而无需重新启动身份验证过程,或者在单独的进程上对用户进行简要身份验证,该进程也返回到活动状态的那个被标记为“离开”。

0 投票
1 回答
335 浏览

ucwa - 在 UCWA 中将 HTML 设置为支持的消息格式

我有一个功能性 ucwa 客户端,仅适用于普通消息。根据 lync 文档,需要一个 PUT 请求来更改支持的模式和消息格式,并且需要一个 If-Match 标头来验证该请求是否为过期状态。

例如,一个 GET 请求/ucwa/oauth/v1/applications/102628975647/communication将返回

}

我把它放回去了,带有一个If-Match: 3010254294标题:

}

但是我一直收到一个428 PreconditionRequired错误,根据文档,这意味着我缺少 If-Match 标头。ETag 和 If-Match 的各种组合也会失败。此请求的正确格式是什么?

0 投票
1 回答
172 浏览

lync - 重新加载页面后重新使用 UCWA 应用程序

是否可以在网站上导航时重新使用 UCWA 应用程序/令牌,而不是在导航到另一个页面后进行身份验证和创建新应用程序(也就是单击菜单中的链接 - 不离开实际网站)?

目前,我每次重新加载页面时都必须重新进行身份验证,这是不可接受的。在我的情况下,也无法使用示例中的单页应用程序。

欢迎任何建议。

0 投票
1 回答
237 浏览

ucwa - UCWA 是否支持使用 REST 的聊天室

只是想知道 UCWA 是否支持创建机器人和加入聊天室的功能?

由于我已经搜索过 UCWA 资源,我找不到它。

谢谢

0 投票
1 回答
137 浏览

iframe - 从令牌服务获取令牌

我正在尝试使用被动身份验证为我的 UCWA 应用程序获取令牌。我的设置是,一旦我收到 401 挑战,我从 ms_rtc_passiveauthuri 参数获取令牌服务的链接,并通过在我的网站背景中创建一个隐藏的 iframe 来访问这个网站 (PassiveAuth.aspx)。该 iframe 中发生了几次重定向,但最终我成功获取了 cookie,并继续创建 UCWA 应用程序。

这在 IE、Chrome、Firefox 和 Opera 中运行良好,但 Safari 似乎拒绝在该 iframe 内执行此重定向。

我还尝试使用 XFrame(并使用帮助程序库的 Transport.clientRequest)访问此令牌服务,但结果是 406 Not Acceptable。

您知道 Safari 的任何解决方法吗?或者,更重要的是,我的方法是否正确 - 这就是它的用途吗?

感谢您的任何建议