سؤال

أحاول إنشاء سير عمل SharePoint يخلق عنصر جديد في قائمة خارجية باستخدام الإجراء "إنشاء عنصر في [اسم القائمة الخارجية]" الإجراء المتاح في SharePoint Designer.

حاليا، أظل الحصول على خطأ ينص على "تعذر على سير العمل إنشاء العنصر في مصدر البيانات الخارجي. تأكد من أن المستخدم لديه أذونات للوصول إلى مصدر البيانات الخارجي وإنشاء عناصر". معرف المستخدم المرتبط هو "حساب النظام" (SharePoint \ System).

من بعض الأبحاث فعلت، كنت أدى إلى الاعتقاد بأن سير العمل يستخدم حساب SP WebApp عند إنشاء عنصر جديد في قائمة خارجية. كما هو موضح في كيفية مصادقة BDC على النظام الخارجي؟ ، لقد منحت أذونات كائن SP WebApp وأذونات مخزن البيانات الوصفية في نوع المحتوى الخارجي وفي النظام الخارجي. منحته أيضا أذوناتها على القائمة الخارجية وخادم SQL في القائمة الخارجية. هذا لم ينجح بالنسبة لي، رغم ذلك.

في نقطة واحدة، قمت بتغيير SSS الافتراضي من "تطبيق خدمة المتجر الآمن المقسم" إلى عنصر مخصص قمت بإنشائه. هذا عملت، لكنه كسر أيضا بعض الأنظمة الأخرى على SharePoint من منظمتي، لذلك اضطررت إلى العودة إلى SSS المقسمة. أرغب في إنشاء تطبيق مستهدف جديد على SSS المرفأ، ولكن بسبب التقسيم، لا أستطيع القيام بذلك. هل هناك طريقة لاستخدام نظامي الخارجي التطبيق المستهدف على SSS المخصص الخاص بي على الرغم من أنه لم يعد SSS الافتراضي؟

هل هناك أي حلول محتملة أخرى قد تكون موجودة؟

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

المحلول

EDIT: I updated my solution because I found a more reliable way to fix the problem:

For anyone else that has this problem in the future, I figured out what the issues were.

With regards to the SHAREPOINT\system account, it turns out that is more or less an alias used by other accounts (usually service accounts) in SharePoint. In this case, it is the account used by my application pool. Reference: About SHAREPOINT\system - what account is it? how is it determined?.

The workflow appears to actually use whatever account the designated SSS or BDC is using. In my case, my "Partitioned Secure Store Service" that my SharePoint site was using by default was running the SP_serviceapps account. I determined this by launching my IIS Manager on my SharePoint server, and finding the appropriate SSS among the various application pools. The SP_serviceapps account was listed as the identity.

Due to running into some difficulties getting my SSS to work, I decided to instead use my BDC identity. In SharePoint Designer, I first determined the service account used by my custom Business Data Connectivity service (SP_serviceapps). Second, I gave both the Sp_serviceapps and SHAREPOINT/System accounts "Full Control", "Design", and "Contribute" permissions in my External List. This is probably overkill, but I wanted to be sure that they were allowed to access the External List. Further, they originally appeared to have "Full Control" permissions, but after clicking on "Edit User Permissions" for each, the resulting dialog box did not have any permissions checked. After this, I enabled RevertToSelf on my SharePoint server: BCS problem with AuthenticationMode and RevertToSelf. Last, I went to Central Admin -> Application Management -> Manage Service Application-> [Name of business data connectivity service] -> External Systems (from view in the ribbon) -> [External System Name] -> [External System Instance Name] -> Set Authentication Mode to "BDC Identity".

Last (and this was a dumb mistake on my part), I had an incorrectly mapped identifier in my External Content Type. I had mistakenly selected "VendorEmail" as the identifier when I meant to select "VendorName". Later, when I created my "Create Item" operation, I mapped "VendorName" to identifier without noticing that it was being mapped to the mistakenly-selected "VendorEmail" and not "VendorName". I fixed this problem by creating a new External Content Type that had the correct identifiers.

After this, my workflow successfully wrote to my External List.

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