1

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

我知道 Talend 可以使用 SOAP,并且 EWS 有一个 WSDL,但是在尝试将两者结合在一起时遇到了各种问题(因为 Exchange 的 WSDL 缺少 Talend 需要的元素)我不知道这是否是最好的攻击计划,或者我是否应该考虑使用MS的EWS Java API为 Talend 构建一个更特定于 Exchange 的插件。

或者,如果这些都被认为是不可能的,我会很感激一个指向解释原因的指针 - 毕竟,所有流行语似乎都排在一边。

4

2 回答 2

1

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

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

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

埃德

于 2011-01-07T20:56:58.030 回答
1

我也一直在为此苦苦挣扎……您可以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]

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

于 2012-05-30T10:22:04.483 回答