سؤال

أحاول استخدام Talend Open Studio لمزامنة جهات الاتصال من مجموعة متنوعة من مصادر الإدخال في خادم Exchange 2007.

أعلم أن Talend يمكن أن تتحدث عن الصابون ، ولديه WSDL ، لكن بعد أن اصطدمت بجميع أنواع المشاكل التي تحاول الزواج من الاثنين معًا (نظرًا لأن WSDL من Exchange تفتقر إلى العناصر التي يحتاجها المواهب) لا أعرف ما إذا كانت هذه هي أفضل خطة للهجوم ، أو إذا كان ينبغي علي أن أنظر في بناء مكون إضافي خاص بالتبادل للموهبة باستخدام EWS Java API من MS.

بدلاً من ذلك ، إذا كان من المعروف أن كلاهما غير ممكن ، فأنا أقدر مؤشرًا لتفسير لماذا - يبدو أن جميع الكلمات الطنانة تصطف على كل جانب ، بعد كل شيء.

هل كانت مفيدة؟

المحلول

أعمل في Talend وسأكون سعيدًا بمحاولة مساعدتك قليلاً ، لكنني لست على دراية بـ WSDL Exchange. أفترض أن واجهة الصابون من بائع راسخ مثل Microsoft ستكون ملف تعريف WS-I أساسي متوافق ويجب التذرع به بسهولة تمامًا مثل أي WS العادية. هل تمانع في تجربة ما يلي:

  1. ما هي العناصر المعينة المفقودة من MS WSDL ، أم أنها تحاول استخدام بعض الميزات غير القياسية؟ CXF متوافق تمامًا مع JAX-WS ، وهو معتمد من WS-I BP متوافقًا ، لذلك يجب أن أفترض أن شيئًا غريبًا يحدث.
  2. انشر WSDL من Exchange التي تحاول استدعاءها من Talend.
  3. قم بإنشاء عميل وكيل لهذا WSDL باستخدام CXF.
  4. جربها وإرسال رسالة الخطأ.
  5. قم بإنشاء مزود خدمة وهمية استنادًا إلى WSDL باستخدام CXF وقم بتشغيل MOCK CXF وحاول ذلك مع عميل CXF WSDL. سيعطيك هذا ثقة إضافية في أن العميل و WSDL ليس لديهم مشاكل.
  6. يمكنك أيضًا محاولة إنشاء حالة اختبار بسيطة باستخدام واجهة مستخدم صابون فقط أو أدوات مماثلة ضد Exchange WS.

ملاحظة: CXF هو المصدر المفتوح القائم على Apache. إنه سهل الاستخدام ولديه تكامل ضيق مع Talend عبر ASF Suite. ولكن يمكنك أيضًا استخدامه بمفرده لأغراض التشخيص.

إد

نصائح أخرى

لقد كنت أعاني من ذلك أيضًا ... يمكنك استخدامه tSoap من اجل ذلك الهدف.
tWebServiceInput لا يعمل معي EWS.

tSoap->tLogRow

على سبيل المثال:

tSoap المكون الذي يحل اسم معين هو الطريقة ResolveNames()
القيمة لحل = Thierry

  1. قم بتعيين "مصادقة تحتاج" مع اسم المستخدم وكلمة المرور
  2. Set End Point ، على سبيل المثال "https: //yourserver/ews/exchange.asmx"
  3. اضبط إجراء SOAP ، "http://schemas.microsoft.com/exchange/services/2006/messages/resolvenames"
  4. إصدار الصابون 1.1
  5. اضبط رسالة الصابون: ... أدخل طريقة الصابون المرفقة بـ ".

ينضم 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 على الرغم من البحث لفترة طويلة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top