У меня есть служба данных WCF, для которой у меня есть пользовательский перезаписывающий URL-адрес, поэтому реальный URL-адрес не отображается, и я могу добавить в путь специальные элементы для его настройки.
Например:
http://localhost/Data/ABCD.odata/
Карты для:
http://localhost/Data/OneData.svc/
Это почти работает, за исключением того, что служба публикует обратно в XML-ответе реальный путь, по которому она находится, таким образом приложения, такие как PowerPivot для Excel, просматривают этот URL-адрес и выполняют второе попадание по этому URL-адресу, а не по тому, который я хочу.
Итак, вопрос в том, как заставить службу публиковать в xml: base пользовательский URL.
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<service xml:base="http://localhost/Data/OneData.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
<workspace>
<atom:title>Default</atom:title>
<collection href="Products">
<atom:title>Products</atom:title>
</collection>
</workspace>
</service>
Я хочу это опубликовать:
<service xml:base="http://localhost/Data/ABCD.odata/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app"