При попытке удалить ссылки «tempuri» из файла wsdl. Я следовал всем существующим советам, о которых я могу думать. Добавьте атрибутWCF4 хостинг в IIS, WSDL: bindingNamespace никогда не читается
[ServiceBehavior(Namespace="mynamespace")]
к реализации класса, Добавить
[ServiceContract(Namespace="mynamespace")]
к интерфейсу контракта и изменить атрибут «bindingNamespace» для конечной точки в web.config, чтобы соответствовать. Но при загрузке (в IIS) пространство имен имен никогда не меняется. Его ВСЕГДА tempuri.
Есть ли у кого-нибудь другие мысли по устранению этой проблемы? Ниже приведен образец из веб-конфигурации ... имя_связанного пространства никогда, независимо от того, что я делаю, обновляется, чтобы быть 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>
Relavent куски сгенерированного файла 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: узел определения пространства имен XML, i0 (как указано в приведенной выше службе) также устанавливается на tempuri.org, следовательно, необходимость в заявке на импорт. Нет изменений в использовании temprui, если я использую BasicHttpBinding или wsHttpBinding. Фактически, установка привязки к wsHttpBinding в файле web.config по-прежнему приводит к выходу выше, ссылаясь на BasicHttpBinding_IdirectoryServices.
Спасибо!
Ladislav, Yes this is .NET 4.0; Я добавил соответствующие части файла wsdl, надеюсь, это поможет. Все дело в том, что можно смело писать правильно. Я был бы более чем счастлив, чтобы отправить все, что может показаться полезным. Благодаря!! Я ценю вашу помощь. – Kevin