Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Biztalk在Biztalk消息分配中设置WCF消息头_Wcf_Biztalk_Biztalk 2010 - Fatal编程技术网

Biztalk在Biztalk消息分配中设置WCF消息头

Biztalk在Biztalk消息分配中设置WCF消息头,wcf,biztalk,biztalk-2010,Wcf,Biztalk,Biztalk 2010,我正在尝试设置Biztalk业务流程发送到WCF的消息的MessageHeader。消息契约在WCF项目中如下所示 [MessageContract(IsWrapped = true, WrapperName = "PerformTransformationRequestWrapper", WrapperNamespace="http://www.iasreo.com/integration/servicetypes")] public class PerformTransformationR

我正在尝试设置Biztalk业务流程发送到WCF的消息的MessageHeader。消息契约在WCF项目中如下所示

 [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; }
}
[MessageContract(IsWrapped=true,WrapperName=“PerformTransformationRequestWrapper”,WrapperNamespace=”http://www.iasreo.com/integration/servicetypes")]
公共类PerformTransformationRequest
{
[MessageHeader(命名空间=”http://www.iasreo.com/integration/servicetypes")]
公共字符串版本{get;set;}
/// 
/// 
/// 
[MessageHeader(命名空间=”http://www.iasreo.com/integration/servicetypes“,MustUnderstand=true)]
公共转换类型转换类型{get;set;}
/// 
/// 
/// 
[MessageBodyMember(命名空间=”http://www.iasreo.com/integration/servicetypes")]
public System.IO.Stream有效负载{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
}
[DataContract(命名空间=”http://www.iasreo.com/integration/servicetypes")]
公共枚举转换类型
{
/// 
///转换为Excel
/// 
[委员]
ExcelTransform=1,
/// 
///转换为PDF
/// 
[委员]
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));
xmlDoc=new System.Xml.XmlDocument();
LoadXml(@“GpM7”);
PerformTransformationRequest=xmlDoc;
xpath(PerformTransformationRequest,“/*[local-name()='PerformTransformationRequestWrapper'和namespace-uri()='http://www.iasreo.com/integration/servicetypes']/*[local-name()=“Payload']”=System.Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(Input.OuterXml));

如何设置WCF MessageContract中MessageHeaders的版本和转换类型?

您可以设置传出消息的已升级WCF.OutboundCustomHeaders属性

OutboundMessage(WCF.OuboundCustomHeaders) = "...";
您需要提供完整的WCF头字符串作为参数


这可能对您有用。

您可以设置传出邮件的Upgraded WCF.OutboundCustomHeaders属性

OutboundMessage(WCF.OuboundCustomHeaders) = "...";
您需要提供完整的WCF头字符串作为参数


这可能对您有用。

使用WCF.OutboundCustomHeaders时我缺少的一件事是为我的自定义类型添加命名空间。使用WCF.OutboundCustomHeaders时我缺少的一件事是为我的自定义类型添加命名空间。