如何从Talend将联系人推送到Microsoft Exchange?

时间:2011-01-06 11:44:52

标签: soap wsdl exchangewebservices talend

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

我知道Talend可以谈论SOAP,而EWS有一个WSDL,但已经碰到了所有 尝试将两者结合在一起的各种问题(因为Exchange的WSDL缺少Talend需要的元素)我不知道这是否是最好的攻击计划,或者我是否应该考虑为Talend构建更多特定于Exchange的插件来自MS的EWS Java API

或者,如果已知这些都是不可能的,我会理解一个指向解释原因的指针 - 毕竟所有的流行语似乎都排成一行。

2 个答案:

答案 0 :(得分:1)

我在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的类似工具生成一个简单的测试用例。
  7. ps:CXF是基于apache的开源软件。它易于使用,并通过ASF套件与Talend紧密集成。但您也可以将其单独用于诊断目的。

答案 1 :(得分: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 Version 1.1
  5. 设置SOAP消息: ...输入附带“。
  6. 的肥皂方法

    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]
    

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