簡體   English   中英

將工作流服務與msmqIntegrationBinding一起使用

[英]Use workflow service with msmqIntegrationBinding

我一直在努力設置使用msmqIntegrationBinding的工作流服務。 我現在遇到的問題是,我總是收到此序列化異常“ System.ServiceModel.ProtocolException:反序列化消息時遇到錯誤。無法接收到消息。---> System.Runtime.Serialization.SerializationException:發生了錯誤反序列化MSMQ消息的XML正文時,無法接收該消息。請確保服務合同已使用適當的[ServiceKnownType]屬性進行修飾,或者已在MsmqIntegrationBindingElement上設置了TargetSerializationTypes屬性。

據我了解,即使我在服務合同和工作流程中都使用通用類型MsmqMessage <MyMessageType> ,序列化幫助程序也找不到將消息序列化為的任何類型。

MyMessageType是使用xsd.exe從.xsd生成的。

更新:解決了問題我在合同(接口)上進行了WCF(動作,ServiceKnownType ...)的所有設置,而不是在工作流中進行了所有設置。 當我將其移至工作流程時,一切都開始工作!!

作為WCF初學者,這讓我有些困惑。 通過MSDN MSMQ 示例時,我錯過了[ServiceKnownType]屬性。

[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
[ServiceKnownType(typeof(PurchaseOrder))]
public interface IOrderProcessor
{
    [OperationContract(IsOneWay = true, Action = "*")]
    void SubmitPurchaseOrder(MsmqMessage<PurchaseOrder> msg);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM