Pergunta

Estou tentando usar o Talend Open Studio para sincronizar contatos de uma variedade de fontes de entrada em um servidor Exchange 2007.

Eu sei que Talend pode falar de sabão e o EWS tem um WSDL, mas depois de ter encontrado todos os tipos de problemas tentando se casar com os dois juntos (já que o WSDL do Exchange está faltando elementos que o talend precisa). Não sei se esse é o melhor plano de ataque , ou se eu deveria procurar construir um plugin mais específico de troca para talend usando o EWS Java API de ms.

Alternativamente, se ambos são conhecidos por não ser possíveis, eu apreciaria um ponteiro de uma explicação sobre o porquê - todas as palavras -chave parecem alinhar de cada lado, afinal.

Foi útil?

Solução

Eu trabalho na Talend e ficaria feliz em tentar ajudá -lo um pouco, mas eu mesmo não estou familiarizado com o WSDL da troca. Eu assumiria que uma interface SOAP de um fornecedor estabelecido como a Microsoft será compatível com o perfil BASIC WS-I e deve ser facilmente chamado diretamente como qualquer WS regular. Você se importaria de tentar o seguinte:

  1. Que elementos específicos estão faltando no MS WSDL ou está tentando usar algum recurso não-padrão? A CXF é totalmente compatível com Jax-WS e é certificada compatível com WS-I BP, por isso tenho que assumir que algo estranho está acontecendo.
  2. Publique o WSDL na troca que você está tentando invocar de Talend.
  3. Crie um cliente proxy para esse WSDL usando CXF.
  4. Experimente e envie a mensagem de erro.
  5. Gere um provedor de serviços simulados com base nesse WSDL usando o CXF e execute o CXF Mock e tente contra isso com o cliente CXF WSDL. Isso lhe dará uma confiança adicional de que o cliente e o WSDL não têm problemas.
  6. Você também pode tentar gerar um caso de teste simples com apenas uma interface de sabão ou ferramentas semelhantes em relação ao WS de troca.

PS: CXF é baseada em Apache. É fácil de usar e tem uma integração rígida com o Talend através da suíte ASF. Mas você também pode usá -lo por si só para fins de diagnóstico.

Ed

Outras dicas

Eu tenho lutado com isso também ... você pode usar tSoap para aquele propósito.
tWebServiceInput não funciona para mim com EWS.

tSoap->tLogRow

por exemplo:

tSoap componente que resolve um determinado nome é o método ResolveNames()
Valor para resolver = Thierry

  1. Definir "Need Authentication" com nome de usuário e senha
  2. Defina o ponto final, por exemplo, "https: //yourserver/ews/exchange.asmx"
  3. Defina a ação do SOAP, "http://schemas.microsoft.com/exchange/services/2006/messages/resolvenames"
  4. Soap versão 1.1
  5. Defina a mensagem SOAP: ... Digite o método SOAP entre ".

Junta -se tSoap para tLogRow

Execute o trabalho. Pronto o resultado ...

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]

Deve funcionar da mesma forma com um método que cria um contato. Espero que ajude porque eu não encontrei muita postagem sobre a integração Talend com Exchange Web Services Apesar de procurar muito tempo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top