我在机器上有一个网站,A
它调用 webService om machine B
。
(两者都托管在 IIS7 上,机器人在同一域下)
我收到通讯错误。
两个应用程序池具有相同的域全局标识。
当我将两个池更改为本地身份时 - 一切正常。
网络配置A
:
我认为这是问题所在:
<security mode="Message">
<transport clientCredentialType="Windows" proxyCredentialType="None"
realm="" />
<message clientCredentialType="Windows" negotiateServiceCredential="true"
algorithmSuite="Default" />
如:
</bindings>
<client>
<endpoint address="http://upload.webapp.qasite-services.com/UploadService.svc/soap" binding="basicHttpBinding" bindingConfiguration="soap" contract="WebAppUploadService.IUploadService" name="soap" />
<endpoint address="https://webservice.s4.exacttarget.com/Service.asmx"
binding="customBinding" bindingConfiguration="SoapBinding"
contract="ExactTargetClient.Soap" name="Soap" />
<endpoint address="http://accounts5.qasite.com/toolbar/ClientServices/TemplateParams.asmx"
binding="basicHttpBinding" bindingConfiguration="GetTemplateParamSoap"
contract="ServiceReference.GetTemplateParamSoap" name="GetTemplateParamSoap" />
<!--<endpoint address="http://qa-srv07.conduit-il.com:81/CPServices/BundlatorManagerService.svc"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IBundlatorService"
contract="BundlatorManagerService.IBundlatorService" name="WSHttpBinding_IBundlatorService">
<identity>
<servicePrincipalName value="host/QA-SRV07.Conduit-IL.com" />
<dns value="dev-srv07.conduit-il.com"/>
</identity>
</endpoint>-->
<endpoint address="http://qa-srv07:81/CPServices/BundlatorManagerService.svc" binding="wsHttpBinding" contract="BundlatorManagerService.IBundlatorService"
name="IBundlatorServiceClient" />
</client>
会是这样吗?
这是错误:
Server Error in '/' Application.
________________________________________
Security Support Provider Interface (SSPI) authentication failed. The server may not be running in an account with identity 'host/qa-srv07'. If the server is running in a service account (Network Service for example), specify the account's ServicePrincipalName as the identity in the EndpointAddress for the server. If the server is running in a user account, specify the account's UserPrincipalName as the identity in the EndpointAddress for the server.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ComponentModel.Win32Exception: Security Support Provider Interface (SSPI) authentication failed. The server may not be running in an account with identity 'host/qa-srv07'. If the server is running in a service account (Network Service for example), specify the account's ServicePrincipalName as the identity in the EndpointAddress for the server. If the server is running in a user account, specify the account's UserPrincipalName as the identity in the EndpointAddress for the server.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[Win32Exception (0x80004005): Security Support Provider Interface (SSPI) authentication failed. The server may not be running in an account with identity 'host/qa-srv07'. If the server is running in a service account (Network Service for example), specify the account's ServicePrincipalName as the identity in the EndpointAddress for the server. If the server is running in a user account, specify the account's UserPrincipalName as the identity in the EndpointAddress for the server.]
System.ServiceModel.Security.WindowsSspiNegotiation.GetOutgoingBlob(Byte[] incomingBlob, IExtendedProtectionSupport extendedProtectionSupport) +5902777
System.ServiceModel.Security.SspiNegotiationTokenProvider.GetNextOutgoingMessageBody(Message incomingMessage, SspiNegotiationTokenProviderState sspiState) +1146
System.ServiceModel.Security.IssuanceTokenProviderBase`1.GetNextOutgoingMessage(Message incomingMessage, T negotiationState) +83
System.ServiceModel.Security.IssuanceTokenProviderBase`1.DoNegotiation(TimeSpan timeout) +431
[SecurityNegotiationException: SOAP security negotiation with 'http://qa-srv07:81/CPServices/BundlatorManagerService.svc' for target 'http://qa-srv07:81/CPServices/BundlatorManagerService.svc' failed. See inner exception for more details.]
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) +10257978
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) +539
BrandToolbar.Manager.TrackingChannels.BundlatorManagerService.IBundlatorService.GetBundleItemsBySsoId(Guid ssoId) +0
BrandToolbar.Manager.TrackingChannels.TrackingChannelsManager.GetAllBundlesForSsoId(Guid ssoId, IList`1& bundleItems) in d:\Conduit\RnD\Server\WebSites\Writers\Dev-Accounts-4.2-TC\Accounts\Managers\TrackingChannels\BrandToolbar.Manager.TrackingChannels\TrackingChannelsManager.cs:311
BrandToolbar.Manager.TrackingChannels.TrackingChannelsManager.GetAllToolbarsAndBundlesForSsoId(Guid ssoId) in d:\Conduit\RnD\Server\WebSites\Writers\Dev-Accounts-4.2-TC\Accounts\Managers\TrackingChannels\BrandToolbar.Manager.TrackingChannels\TrackingChannelsManager.cs:141
BrandToolbar.Account.Controllers.DistributionTools.TrackingChannelsController.Index() in d:\Conduit\RnD\Server\WebSites\Writers\Dev-Accounts-4.2-TC\Accounts\BrandToolbar.Account\Controllers\DistributionTools\TrackingChannelsController.cs:102
lambda_method(ExecutionScope , ControllerBase , Object[] ) +30
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +236
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +31
System.Web.Mvc.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a() +85
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +657347
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +288
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +658084
System.Web.Mvc.Controller.ExecuteCore() +125
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__4() +48
System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21
System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +15
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +85
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +51
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +454
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +263