Я разрабатываю службу WCF для использования в формах InfoPath 2007. После добавления службы в качестве вторичного источника данных InfoPath автоматически создаст определенную структуру. Например:
Моя проблема с этим - сгенерированные xpaths. xpath отображаемого имени, например:
/dfs:myFields/dfs:dataFields/ns3:whoamiResponse/ns3:whoamiResult/q1:displayname
Поскольку мой веб-сервис должен заменить более старый, который реализован во многих формах с логикой, ссылающейся точно на определенный xpath, я должен получить точно такой же xpath, сгенерированный в моем новом веб-сервисе.
Как я могу повлиять на эти сгенерированные префиксы, такие как ns3:whoamiResult/q1:displayname ?
Я заметил, что q1 появился после того, как я изменил тип возвращаемого значения моей операции с DataSet на пользовательский класс. И tns/ns1/ns2/ns3 .. зависит от пространств имен, которые я изменил в [ServiceContract], [ServiceBehaviour] и некоторых других атрибутах.
[ServiceContract(Name="Webservice", Namespace = "BestNamespaceToBeEnteredHere")]
public interface IWebservice
{
[OperationContract]
//...
}
Может ли кто-нибудь указать мне правильное направление? Могу ли я каким-то образом передать пользовательскую схему с ответом веб-службы, где я могу определить, как должна выглядеть структура?
ваше здоровье! Фил