Как перенести контакты в Microsoft Exchange из Talend? - PullRequest
1 голос
/ 06 января 2011

Я пытаюсь использовать Talend Open Studio для синхронизации контактов из различных источников ввода на сервере Exchange 2007.

Я знаю, что Talend может говорить по протоколу SOAP, и EWS имеет WSDL, но столкнулся свсевозможные проблемы, пытаясь объединить их вместе (поскольку в WSDL Exchange отсутствуют элементы, необходимые для Talend), я не знаю, является ли это лучшим планом атаки, или мне следует подумать о создании более специфичного для Exchange плагина для Talendиспользуя EWS Java API от MS.

В качестве альтернативы, если известно, что оба они невозможны, я был бы признателен за указание на объяснение, почему - все модные слова кажутсяВ конце концов, выстроитесь в ряд с каждой стороны.

Ответы [ 2 ]

1 голос
/ 30 мая 2012

Я тоже с этим боролся ... Вы можете использовать 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: ... Введите метод мыла, заключенный в ".

Присоединяется 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, несмотря на долгий поиск.

1 голос
/ 07 января 2011

Я работаю в Talend и с удовольствием постараюсь помочь вам, но я сам не знаком с Exchange WSDL.Я бы предположил, что интерфейс SOAP от известного поставщика, такого как Microsoft, будет совместим с базовым профилем WS-I и должен легко вызываться напрямую, как любой обычный WS.Не могли бы вы попробовать следующее:

  1. Какие конкретные элементы отсутствуют в MS WSDL или он пытается использовать некоторые нестандартные функции?CXF полностью JAX-WS-совместимый, и он сертифицирован WS-I BP-совместимый, поэтому я должен предположить, что происходит что-то странное.
  2. опубликовать WSDL от обмена, который вы пытаетесь вызвать из Talend.
  3. создайте прокси-клиент для этого WSDL с использованием CXF.
  4. Попробуйте и отправьте сообщение об ошибке.
  5. Создайте фиктивный поставщик услуг на основе этого wsdl с использованием CXF и запуститемакет CXF и попробуйте против этого с клиентом CXF wsdl.Это даст вам дополнительную уверенность в том, что у клиента и wsdl нет проблем.
  6. Вы также можете попробовать создать простой контрольный пример с использованием только SOAP UI или аналогичного инструментария для Exchange WS.

ps: CXF - это открытый исходный код на основе Apache.Он прост в использовании и имеет тесную интеграцию с Talend через пакет ASF.Но вы также можете использовать его отдельно для диагностических целей.

Ed

...