0

ワークフローを開始するためのJavaScriptコードがあります。 それは私の構内のマシンですべて動作します。 しかし、私はオンラインサイトでそれを実行しようとすると、失敗します。sharepoint - 開始ワークフローjsomスクリプトは前提条件で動作しますが、オンラインでは失敗しますか?

それはworkflow.asmxウェブサービスに基づいて、私はエラー500取得さ - 値が予想範囲内に収まっていないが...

私は、これはワークフローパラメータである疑いがあります。しかし、私は何が正確に見ることができません。ユーザーのログインは異なりますが、オンラインの形式に準拠しています...

これについて説明する可能性のある、

function StartMyWorkflow(listGUID, itemId) { 

    var wfDefinitionId = "{9279E1FF-1D32-4423-85B7-C7F21998A701}"; 

    var ctx = SP.ClientContext.get_current(); 
    var web = ctx.get_web(); 
    var list = web.get_lists().getById(listGUID); 
    var item = list.getItemById(itemId); 
    var currentUser = web.get_currentUser(); 

    ctx.load(web); 
    ctx.load(item); 
    ctx.load(currentUser); 

    ctx.executeQueryAsync(
     Function.createDelegate(this, function() { 
      var login = currentUser.get_loginName(); 
      var name = currentUser.get_title(); 
      var xml = getWFAssocData(name, login); 

      var fileRef = "https://" + location.host +  item.get_item("FileRef"); 

      $().SPServices({ 
       operation: "StartWorkflow", 
       item: fileRef, 
       templateId: wfDefinitionId, 
       workflowParameters: xml, 
       completefunc: function() { 
        SP.UI.Notify.addNotification('workflow started', false);      
       } 
      }); 
     }), 
     function (s, a) { console.error(a.get_message());} 
    ); 
} 


function getWFAssocData(name, login) { 
    var assocData = '<dfs:myFields   xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dms="http://schemas.microsoft.com/office/2009/documentManagement/types" xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:q="http://schemas.microsoft.com/office/infopath/2009/WSSList/queryFields" xmlns:d="http://schemas.microsoft.com/office/infopath/2009/WSSList/dataFields" xmlns:ma="http://schemas.microsoft.com/office/2009/metadata/properties/metaAttributes" xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' + 
       '<dfs:queryFields></dfs:queryFields>' + 
       '<dfs:dataFields>' + 
       '<d:SharePointListItem_RW>' + 
       '<d:Approvers>' + 
       '<d:Assignment>' + 
       '<d:Assignee>' + 
       '<pc:Person><pc:DisplayName>' + name + '</pc:DisplayName><pc:AccountId>' + login + '</pc:AccountId><pc:AccountType>User</pc:AccountType></pc:Person>' + 
       '</d:Assignee>' + 
       '<d:Stage xsi:nil="true" />' + 
       '<d:AssignmentType>Serial</d:AssignmentType>' + 
       '</d:Assignment>' + 
       '</d:Approvers>' + 
       '<d:ExpandGroups>true</d:ExpandGroups>' + 
       '<d:NotificationMessage>Please approve <a href="#1">test</a></d:NotificationMessage>' + 
       '<d:DueDateforAllTasks xsi:nil="true" /><d:DurationforSerialTasks xsi:nil="true" />' + 
       '<d:DurationUnits>Day</d:DurationUnits>' + 
       '<d:CC />' + 
       '<d:CancelonRejection>true</d:CancelonRejection>' + 
       '<d:CancelonChange>false</d:CancelonChange>' + 
       '<d:EnableContentApproval>false</d:EnableContentApproval>' + 
       '</d:SharePointListItem_RW>' + 
       '</dfs:dataFields>' + 
       '</dfs:myFields>'; 

    return assocData; 

} 

答えて

0

それは明らかのように愚かであることが判明:

は、念のために、ここでは(再び、完全に罰金onpremise)私のコードです。私はfileRef urlに 's'がありませんでした。上記のスクリプトを修正しました。実際は完全に機能しています。

関連する問題