我正在尝试使用 Talend Open Studio 将各种输入源中的联系人同步到 Exchange 2007 服务器中。

我知道talend可以谈论肥皂,而EWS有一个WSDL,但是遇到了各种试图将两者结婚的问题(因为Exchange的WSDL缺乏Talend需要的元素),我不知道这是否是最佳攻击计划,或者如果我应该考虑构建一个更特定于交换的插件,以使用该插件 EWS Java API 来自女士。

或者,如果已知这两者都是不可能的,我希望能得到一个解释原因的指针 - 毕竟,所有流行语似乎都在每一侧排列。

有帮助吗?

解决方案

我在 Talend 工作,很乐意尝试为您提供一些帮助,但我本人并不熟悉 Exchange WSDL。我假设来自 Microsoft 等成熟供应商的 SOAP 接口将与 WS-I Basic Profile 兼容,并且应该像任何常规 WS 一样可以轻松地直接调用。您介意尝试以下操作吗:

  1. MS WSDL 中缺少哪些特定元素,或者它是否尝试使用某些非标准功能?CXF 完全符合 JAX-WS,并且经过认证符合 WS-I BP,因此我不得不假设发生了一些奇怪的事情。
  2. 从您尝试从 Talend 调用的 Exchange 发布 WSDL。
  3. 使用 CXF 为该 WSDL 创建代理客户端。
  4. 尝试一下并发送错误消息。
  5. 使用 CXF 生成基于该 wsdl 的模拟服务提供者,并运行 CXF 模拟并尝试使用 CXF wsdl 客户端进行测试。这将使您更加确信客户端和 wsdl 没有问题。
  6. 您还可以尝试仅使用 SOAP UI 或针对 Exchange WS 的类似工具生成一个简单的测试用例。

附:CXF 是基于 apache 的开源软件。它易于使用,并通过 ASF 套件与 Talend 紧密集成。但您也可以单独使用它来进行诊断。

埃德

其他提示

我也一直在为此挣扎......您可以使用 tSoap 为了这个目的。
tWebServiceInput 不适合我 EWS.

tSoap->tLogRow

例如:

tSoap 解析给定名称的组件是方法 ResolveNames()
待解决的值 = Thierry

  1. 使用用户名和密码设置“需要身份验证”
  2. 设置端点,例如“https://yourserver/EWS/Exchange.asmx”
  3. 设置SOAP操作,“ http://schemas.microsoft.com/exchange/services/2006/messages/resolvenames”
  4. SOAP 版本 1.1
  5. 设置 SOAP 消息:...输入以“.”括起来的肥皂方法。

加入 tSoaptLogRow

运行作业。瞧,结果...

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]

它应该与创建联系人的方法类似。希望它有帮助,因为我还没有找到很多关于集成的帖子 TalendExchange Web Services 尽管寻找了很长时间。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top