2012-02-29 20 views
1

BizTalkオーケストレーションがWCFに送信するメッセージのMessageHeaderを設定しようとしています。メッセージ契約は、WCFプロジェクトでは次のようになります。Biztalkの設定BizTalkメッセージのWCF MessageHeadersメッセージの割り当て

[MessageContract(IsWrapped = true, WrapperName = "PerformTransformationRequestWrapper", WrapperNamespace="http://www.iasreo.com/integration/servicetypes")] 
public class PerformTransformationRequest 
{ 
    [MessageHeader(Namespace = "http://www.iasreo.com/integration/servicetypes")] 
    public string Version { get; set; } 
    /// <summary> 
    /// 
    /// </summary> 
    [MessageHeader(Namespace = "http://www.iasreo.com/integration/servicetypes", MustUnderstand = true)] 
    public TransformType TransformType { get; set; } 

    /// <summary> 
    /// 
    /// </summary> 
    [MessageBodyMember(Namespace = "http://www.iasreo.com/integration/servicetypes")] 
    public System.IO.Stream Payload { get; set; } 
} 

TransformType.cs

[DataContract(Namespace = "http://www.iasreo.com/integration/servicetypes")] 
public enum TransformType 
{ 
    /// <summary> 
    /// Transform to Excel 
    /// </summary> 
    [EnumMember] 
    ExcelTransform = 1, 

    /// <summary> 
    /// Transform to PDF 
    /// </summary> 
    [EnumMember] 
    PDFTransform = 2 
} 
私は、メッセージの割り当ての形でのBizTalkに送信するメッセージを作成していますし、次のようにそのコードは見え

xmlDoc = new System.Xml.XmlDocument(); 
xmlDoc.LoadXml(@"<ns0:PerformTransformationRequestWrapper xmlns:ns0=""http://www.iasreo.com/integration/servicetypes""><ns0:Payload>GpM7</ns0:Payload></ns0:PerformTransformationRequestWrapper>"); 

PerformTransformationRequest = xmlDoc; 

xpath(PerformTransformationRequest, "/*[local-name()='PerformTransformationRequestWrapper' and namespace-uri()='http://www.iasreo.com/integration/servicetypes']/*[local-name()='Payload']") = System.Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(Input.OuterXml)); 

はどのようにして設定することができますWCF MessageContractのMessageHeadersのバージョンとTransformType?

答えて

1

あなたは、パラメータとして、完全なWCFヘッダの文字列を指定する必要があり、送信メッセージ

OutboundMessage(WCF.OuboundCustomHeaders) = "..."; 

の昇格WCF.OutboundCustomHeadersプロパティを設定することができます。

このhttp://bencode.net/biztalk-custom-wcf-behaviourは、あなたに役立つかもしれません。

+0

WCF.OutboundCustomHeadersを使用していなかったことの1つは、カスタムタイプの名前空間を追加することでした。 – Hopdizzle

関連する問題