如何将联系人从 Talend 推送到 Microsoft Exchange?
-
26-09-2019 - |
题
我正在尝试使用 Talend Open Studio 将各种输入源中的联系人同步到 Exchange 2007 服务器中。
我知道talend可以谈论肥皂,而EWS有一个WSDL,但是遇到了各种试图将两者结婚的问题(因为Exchange的WSDL缺乏Talend需要的元素),我不知道这是否是最佳攻击计划,或者如果我应该考虑构建一个更特定于交换的插件,以使用该插件 EWS Java API 来自女士。
或者,如果已知这两者都是不可能的,我希望能得到一个解释原因的指针 - 毕竟,所有流行语似乎都在每一侧排列。
解决方案
我在 Talend 工作,很乐意尝试为您提供一些帮助,但我本人并不熟悉 Exchange WSDL。我假设来自 Microsoft 等成熟供应商的 SOAP 接口将与 WS-I Basic Profile 兼容,并且应该像任何常规 WS 一样可以轻松地直接调用。您介意尝试以下操作吗:
- MS WSDL 中缺少哪些特定元素,或者它是否尝试使用某些非标准功能?CXF 完全符合 JAX-WS,并且经过认证符合 WS-I BP,因此我不得不假设发生了一些奇怪的事情。
- 从您尝试从 Talend 调用的 Exchange 发布 WSDL。
- 使用 CXF 为该 WSDL 创建代理客户端。
- 尝试一下并发送错误消息。
- 使用 CXF 生成基于该 wsdl 的模拟服务提供者,并运行 CXF 模拟并尝试使用 CXF wsdl 客户端进行测试。这将使您更加确信客户端和 wsdl 没有问题。
- 您还可以尝试仅使用 SOAP UI 或针对 Exchange WS 的类似工具生成一个简单的测试用例。
附:CXF 是基于 apache 的开源软件。它易于使用,并通过 ASF 套件与 Talend 紧密集成。但您也可以单独使用它来进行诊断。
埃德
其他提示
我也一直在为此挣扎......您可以使用 tSoap
为了这个目的。
tWebServiceInput
不适合我 EWS
.
tSoap->tLogRow
例如:
tSoap
解析给定名称的组件是方法 ResolveNames()
待解决的值 = Thierry
- 使用用户名和密码设置“需要身份验证”
- 设置端点,例如“https://yourserver/EWS/Exchange.asmx”
- 设置SOAP操作,“ http://schemas.microsoft.com/exchange/services/2006/messages/resolvenames”
- SOAP 版本 1.1
- 设置 SOAP 消息:...输入以“.”括起来的肥皂方法。
加入 tSoap
到 tLogRow
运行作业。瞧,结果...
Starting job xSoap_ResolveNames_LogRow at 13:43 30/05/2012.
[statistics] connecting to socket on port 3682
[statistics] connected
<Header><t:ServerVersionInfo xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" MajorBuildNumber="685" MajorVersion="8" MinorBuildNumber="24" MinorVersion="0" /></Header>|<m:ResolveNamesResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><m:ResponseMessages><m:ResolveNamesResponseMessage ResponseClass="Success"><m:ResponseCode>NoError</m:ResponseCode><m:ResolutionSet IncludesLastItemInRange="true" TotalItemsInView="1"><t:Resolution><t:Mailbox><t:Name>Thierry TYS. Yen Suin</t:Name><t:EmailAddress>thierry.suin@sc-mauritius.com</t:EmailAddress><t:RoutingType>SMTP</t:RoutingType><t:MailboxType>Mailbox</t:MailboxType></t:Mailbox><t:Contact><t:DisplayName>Thierry Yen Suin</t:DisplayName><t:GivenName>Thierry</t:GivenName><t:EmailAddresses><t:Entry Key="EmailAddress1">SMTP:thierry.suin@sc-mauritius.com</t:Entry></t:EmailAddresses><t:ContactSource>ActiveDirectory</t:ContactSource><t:Surname>Yen Suin</t:Surname></t:Contact></t:Resolution></m:ResolutionSet></m:ResolveNamesResponseMessage></m:ResponseMessages></m:ResolveNamesResponse>|
[statistics] disconnected
Job xSoap_ResolveNames_LogRow ended at 13:43 30/05/2012. [exit code=0]
它应该与创建联系人的方法类似。希望它有帮助,因为我还没有找到很多关于集成的帖子 Talend
和 Exchange Web Services
尽管寻找了很长时间。
不隶属于 StackOverflow