我正在开发一个由InfoPath 2007表单使用的WCF服务。将服务添加为辅助数据源后,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,我可以在其中定义结构的外观吗?
喝彩!菲尔
答案 0 :(得分:1)
Namespace
和ServiceContract
上的DataContract
属性会影响SOAP响应中使用的命名空间。前缀通常是任意的,我认为InfoPath显示它们是相当奇怪的,但是有很多关于如何影响它们的文章。
虽然我通常不支持仅链接的答案,但我在下面列出它们,因为我无法解释它以及它们已经有:
重复: