استدعاء خدمة الويب مع أنواع بدائية داخل Orchestration - لا يمكن تعيين رسالة الطلب
-
24-09-2019 - |
سؤال
أنا أواجه هذه المشكلة عند محاولة استدعاء خدمة ويب SOAP من داخل BizTalk. خدمة الويب عبارة عن ABAPI المكشوفة من قبل SAP كخدمة ويب SOAP ، وتوقيع طريقة الويب التي أريد أن أسميها هو شيء من هذا القبيل:
Operation(param1 as System.String, param2 as System.String, param3 ArrayOfSomeClass)
عندما أرى المخططات التي تم إنشاؤها ، لاحظت أنه تم إنشاء "ArrayofSomeClass" و "Someclass" فقط. لكنني لا أرى أي مخطط يمثل الطلب بأكمله. لاحظت أيضًا أنه تم إنشاء نوع منفذ الويب ، ويتم تمثيل رسالة الطلب كرسالة متعددة الأجزاء. تحتوي أجزاء هذه الرسالة على جميع المعلمات القياسية (param1 ، param2) وكذلك الصفيف.
أعلم أنه يمكنني فقط استخدام شكل المهمة وملء الرسالة حسب الرمز ، لكن هذا ليس ما أريده لأنني أرغب في تعيين رسالة أخرى إلى طلب خدمة الويب.
هل هذا ممكن؟ أي شخص لديه مشكلة مماثلة؟
شكرا لك مقدما!
المحلول
إن الملاحظة صحيحة ، ولن يتم إنشاء مخططات لأنواع بسيطة وتوثيقها بوضوح هنا وتشرح كيف يجب أن تعمل مع مثل هذه الأنواع.
http://msdn.microsoft.com/en-us/library/aa561724(bts.20).aspx
لن تحتوي XSD على عقد لأنواع المعلمات البسيطة عند إضافة مرجع ويب وله طريقة الويب معلمة هي نوع بسيط ، فلن يحتوي XSD الذي تم إنشاؤه على عقد لتلك المعلمة. بدلاً من ذلك ، ستحتوي الرسالة المتعددة التي يتم إنشاؤها على جزء من النوع البسيط. يجب على التزامن التعامل مع جزء الرسالة هذا بشكل مناسب. إذا كان جزءًا من الطلب إلى خدمة الويب ، فقم بتعيين القيمة يدويًا لهذا الجزء مع شكل تعيين الرسائل. إذا كان جزءًا من الاستجابة من خدمة الويب ، فقم بالوصول يدويًا إلى هذا الجزء في شكل تعبير لرؤية القيمة.
لم أحصل على نقطتك الثانية
أرغب في تعيين رسالة أخرى إلى طلب خدمة الويب.