1

私はMicrosoft Dynamics CRM 2016をオンラインで使用しており、Azure Service Bus relayをカスタムワークフローアクティビティから使用しようとしています。CRM 2016オンラインとAzureサービスバスリレー - 50200:Bad Gateway

(CRM SDKのAzureAwareWorkflowActivityに基づいて)カスタムアクティビティを作成し、エンドポイントを登録しました(詳細は下記)。ワークフローの実行が次のエラーで終了します。

System.ServiceModel.FaultException`1 [Microsoft.Xrm.Sdk.OrganizationServiceFault]:50200:Bad Gateway、Resource:sb://****.servicebus.windows.net /更新*****。 TrackingId:b7681665 - **** SystemTracker:NoSystemTracker、タイムスタンプ:10/10/2016 2:15:45 PM(障害の詳細はMicrosoft.Xrm.Sdk.OrganizationServiceFaultに等しい)

この問題の解決方法をご存知ですか?

ワークフローアクティビティ

namespace Microsoft.Crm.Sdk.Samples 
{ 
    /// <summary> 
    /// This class is able to post the execution context to the Windows Azure 
    /// Service Bus. 
    /// </summary> 
    public class AzureAwareWorkflowActivity : CodeActivity 
    { 
     /// <summary> 
     /// This method is called when the workflow executes. 
     /// </summary> 
     /// <param name="executionContext">The data for the event triggering 
     /// the workflow.</param> 
     protected override void Execute(CodeActivityContext executionContext) 
     { 
      IWorkflowContext context = executionContext.GetExtension<IWorkflowContext>(); 

      IServiceEndpointNotificationService endpointService = 
        executionContext.GetExtension<IServiceEndpointNotificationService>(); 
      endpointService.Execute(ServiceEndpoint.Get(executionContext), context); 
     } 

     /// <summary> 
     /// Enables the service endpoint to be provided when this activity is added as a 
     /// step in a workflow. 
     /// </summary> 
     [RequiredArgument] 
     [ReferenceTarget("serviceendpoint")] 
     [Input("Input id")] 
     public InArgument<EntityReference> ServiceEndpoint { get; set; } 
    } 
} 

エンドポイント

Endpoint configuration

答えて

0

問題は解決 - 理由は、CRMからサービスホスト処理要求の不十分な構成でした。

CRMから送信されたメッセージのサイズが許可されたサイズより大きかったことが判明しました。

<bindings> 
    <ws2007HttpRelayBinding> 
    <binding name="default" maxReceivedMessageSize="2147483647"> 
    </binding> 
    </ws2007HttpRelayBinding> 
</bindings> 

サービスホストがCRM SDKからTwo-way listener exampleに基づいて書かれた:maxReceivedMessageSizeを追加する溶液(2147483647は、より合理的な値に変更することができる)です。残念ながら、サンプルにはこの設定が含まれていません。

関連する問題