InfoPath辅助WCF数据源的XML结构

时间:2015-01-09 10:16:28

标签: xml web-services wcf infopath-2007

我正在开发一个由InfoPath 2007表单使用的WCF服务。将服务添加为辅助数据源后,InfoPath本身将自动生成某个结构。例如:

Secondary data source structure in infopath

我的问题是生成的xpath。例如:displayname的xpath:

/dfs:myFields/dfs:dataFields/ns3:whoamiResponse/ns3:whoamiResult/q1:displayname

由于我的Webservice必须替换以多种形式实现的旧版本,并且逻辑引用恰好是某个xpath,我必须获得在我的新Web服务中生成的完全相同的xpath。

如何影响这些生成的前缀,例如 ns3 :whoamiResult / q1 :displayname?

我注意到在将Data的返回类型从DataSet更改为自定义类后,出现了 q1 。并且tns / ns1 / ns2 / ns3 ..取决于我在[ServiceContract],[ServiceBehaviour]和其他一些属性中更改的命名空间。

[ServiceContract(Name="Webservice", Namespace = "BestNamespaceToBeEnteredHere")]
public interface IWebservice
{

    [OperationContract]
    //...
}

有人能指出我正确的方向吗?我可以以某种方式通过Web服务响应传递一个cusstom Schema,我可以在其中定义结构的外观吗?

喝彩!菲尔

1 个答案:

答案 0 :(得分:1)

NamespaceServiceContract上的DataContract属性会影响SOAP响应中使用的命名空间。前缀通常是任意的,我认为InfoPath显示它们是相当奇怪的,但是有很多关于如何影响它们的文章。

虽然我通常不支持仅链接的答案,但我在下面列出它们,因为我无法解释它以及它们已经有:

重复: