При попытке удалить ссылки "tempuri" из файла wsdl. Я следовал всем существующим советам, которые могу придумать. Добавить
[ServiceBehavior(Namespace="mynamespace")]
атрибут к классу реализации, Добавить
[ServiceContract(Namespace="mynamespace")]
в интерфейсе контракта и измените атрибут «bindingNamespace» для конечной точки в web.config, чтобы он соответствовал. Тем не менее, при загрузке (в IIS) пространство привязок никогда не изменяется ... его ВСЕГДА темпурирует.
Есть ли у кого-нибудь еще мысли по устранению этой проблемы? Ниже приведен пример из веб-конфигурации ... пространство привязок никогда, независимо от того, что я делаю, никогда не обновляется до mynamespace, оно всегда tempuri.org. Если после загрузки конечных точек через фабрику хоста я перебираю привязки в описании хоста и обновляю их, они изменятся, но это похоже на взлом.
для службы по адресу: "http://mydomain.com/MyService.svc" следующее представляет мою конфигурацию конечной точки, это даже используется IIS?
<services>
<service name="ServiceImplementationClassReference,MyAssembly" >
<endpoint name=""
address="MyService.svc"
binding="basicHttpBinding"
bindingNamespace="mynamespace"
bindingConfiguration=""
contract="IMyContract" />
<endpoint name="mexHttpBinding"
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
Восстановить части сгенерированного файла WSDL, которые все еще ссылаются на tempuri.org
<wsdl:import namespace="http://tempuri.org/" location="http://mydomain.org/MyService.svc?wsdl=wsdl0" />
........
<wsdl:service name="Directory">
<wsdl:port name="BasicHttpBinding_IDirectoryServices"
binding="i0:BasicHttpBinding_IDirectoryServices">
<soap:address location="http://mydomain.org/MyService.svc" />
</wsdl:port>
</wsdl:service>
в узле wsdl: Definition для пространства имен xml i0 (на которое ссылается служба, перечисленная выше) также задано значение tempuri.org, поэтому требуется оператор import. Нет никаких изменений в использовании temprui, если я использую BasicHttpBinding или wsHttpBinding. Фактически, установка привязки к wsHttpBinding в файле web.config по-прежнему приводит к выводу выше, ссылающемуся на BasicHttpBinding_IdirectoryServices.
Спасибо!