.net - keywords - Un código de sitio web no se puede conectar a un servicio de jabón en el mismo servidor
meta tags generator (2)
Asegúrese de que está ejecutando el servicio web y el sitio web en diferentes puertos , y asegúrese de que su configuración refleje el puerto correcto.
Si está ejecutando dos sitios web en el mismo puerto (de manera predeterminada, este sería el puerto 80, reservado para HTTP), entrarán en conflicto entre sí, uno de ellos obtendrá el puerto y el otro no.
Supongamos que cambia el puerto del servicio web a 8080, configuraría el sitio para usar el punto final:
address="http://mydomain:8080/ws/DirectoryService.asmx"
Mi sitio web ASP.NET llama a un servicio .net desde un código en App_Code para recuperar cierta información.
El servicio web está alojado en http://mydomain/ws/DirectoryService.asmx
.
Cada vez que despliego un sitio web en cualquier servidor que no sea el mismo en el que se aloja el servicio .net requerido, todo funciona bien.
Cada vez que despliegue el sitio en el mismo servidor web en el que está alojado el servicio web, recibo el error 401.1.
Tengo el siguiente enlace definido en web.config del sitio:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="LR Directory ServiceSoap" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://mydomain/ws/DirectoryService.asmx" binding="basicHttpBinding" bindingConfiguration="LR Directory ServiceSoap" contract="ExpertsServiceReference.LRDirectoryServiceSoap" name="LR Directory ServiceSoap" />
</client>
</system.serviceModel>
Aparentemente, el problema radica en esa unión. No puede funcionar desde el mismo servidor. ¿Cómo se puede solucionar el problema?
PD: Si comento el enlace en web.config, el sitio web se carga bien, pero no es completamente funcional, ya que no se puede conectar a un servicio.
ACTUALIZACIÓN: un detalle muy importante: mi sitio web objetivo y un servicio .net están ubicados en el mismo servidor, el mismo IIS, pero están vinculados a direcciones IP externas diferentes, por lo que el problema no puede estar en un campo de acceso a la red.
Además, si configuro el modo de autenticación del sitio web desde Anónimo a Windows, todo funciona bien, pero debo proporcionar creditos de Windows cada vez que accedo al sitio.
Problema resuelto. Resultó que necesitaba Editar una configuración de autenticación anónima, de modo que cuando se utilizara (en mi caso, siempre), el código pasaría a la identidad del grupo de aplicaciones, y no a IUSR: