Biztalk在Biztalk消息分配中设置WCF消息头
我正在尝试设置Biztalk业务流程发送到WCF的消息的MessageHeader。消息契约在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
[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时我缺少的一件事是为我的自定义类型添加命名空间。