Pregunta

Estoy tratando de utilizar Talend Open Studio para sincronizar los contactos de una variedad de fuentes de entrada en un servidor de Exchange 2007.

Yo sé Talend puede hablar SOAP y WSDL EWS tiene una, pero después de haber chocado con todo tipo de problemas que tratan de casarse con los dos juntos (desde WSDL de Exchange está faltando elementos que las necesidades de Talend) No sé si eso es el mejor plan de ataque, o si debería estar mirando a la construcción de un plugin más específicos de Exchange para Talend usando la EWS Java API de MS.

Por otra parte, si ambos son conocidos por no ser posible, le agradecería un puntero a una explicación de por qué -. Todas las palabras de moda parecen alinearse en cada lado, después de todo

¿Fue útil?

Solución

Trabajo en Talend y estaría dispuesto a tratar de ayudarle un poco, pero yo no estoy familiarizado con el WSDL Exchange. Supongo que una interfaz SOAP de un vendedor establecido como Microsoft va a ser WS-I Basic Profile compatible y debe ser fácilmente invocada directamente al igual que cualquier WS regular. ¿Le importaría probar el siguiente:

  1. ¿Qué elementos particulares no están en la EM WSDL, o es él tratando de utilizar alguna característica no estándar? CXF es totalmente compatible con JAX-WS, y está certificada WS-I compatible con BP, así que tengo que asumir algo raro está pasando.
  2. poner el WSDL del cambio que se está intentando invocar desde Talend.
  3. crear un cliente proxy para que WSDL utilizando CXF.
  4. Dar una oportunidad y envía el mensaje de error.
  5. Generar un proveedor de servicios simulacro basado en que el uso de WSDL CXF y ejecutar el simulacro de CXF y tratar contra el que con el cliente WSDL CXF. Esto le dará más confianza que el cliente y WSDL no tendrá problemas.
  6. También puede intentar generar un caso de prueba sencilla con sólo SOAP de interfaz de usuario o herramientas similares en contra de la WS Exchange.

ps: CXF es Apache de código abierto basado. Es fácil de usar y tiene una estrecha integración con Talend a través de la suite de ASF. Pero también puede simplemente utilizar por sí mismo con fines de diagnóstico.

Ed

Otros consejos

he estado luchando con eso también ... Puede utilizar tSoap para ese propósito.
tWebServiceInput no funciona para mí con EWS.

tSoap->tLogRow

por ejemplo:

componente tSoap que resuelve un nombre dado es el método ResolveNames()
Valor para resolver Thierry =

  1. Ajuste "Necesidad de autenticación" con nombre de usuario y contraseña
  2. Establecer punto final, por ejemplo, "https: //yourserver/EWS/Exchange.asmx"
  3. Conjunto de SOAP Acción, "Http://schemas.microsoft.com/exchange/services/2006/messages/ResolveNames"
  4. SOAP Versión 1.1
  5. Conjunto mensaje SOAP: ... Introduzca Jabón Método cerrado con".

tSoap se une a tLogRow

ejecutar el trabajo. Voila el 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]

Se debe trabajar de manera similar con un método que crea un contacto. Creo que sirve, porque no he encontrado un montón de post sobre la integración de Talend con Exchange Web Services a pesar de buscar durante mucho tiempo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top