R
Ray Williams
I've developed a system that consists of three applications. (A) a web application to provide UI (B) a web service to handle shopping and buying requests and (C) a web service to process credit card transactions.
The applications are accessed linearly, A ó B ó C. In development, my application suite works fine, when browsing application A, I can submit shop and buy requests to B and they are processed correctly. In production, web methods in B, which access web methods in C, generate an error message. Methods in B which do not access C execute correctly. Here is the error:
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> Access denied for user: 'SystemLogin@PublicIPAddressForServer' (Using password: YES) --- End of inner exception stack trace ---
Originally the application was deployed two a two server environment. Server 1 contained A and B, Server 2 has C. It was then that I originally received the error. Since then, I have moved all three applications to the same server, yet receive the same error. The proxies load relative to Urls stored in their respective web.config. App B implements the WSE 1.0 enhancements for security and uses a custom IPassword handler. App C does not use WSE because it is intended to be only accessible across a private network or locally. Besides the IPassword provider in B is intended for user access, the same provider would not be appropriate for C as it processes credit transaction for the entire system regardless of enduser.
In an effort to resolve the problem, I have added NetworkCredentials to the proxy for C when accessed from B.
I find it interesting that the IP address returned in the error is the public IP address. I would expect the IP to be the local ip or 127.0.0.1, but it appears to be making a round robin even though the static ip or localhost is used to reference the services in C.
I receive the same error when browsing locally as well as remotely.
Does anyone have suggestion of debugging or resolving this issue? Your help is greatly appreciated.
Ray
The applications are accessed linearly, A ó B ó C. In development, my application suite works fine, when browsing application A, I can submit shop and buy requests to B and they are processed correctly. In production, web methods in B, which access web methods in C, generate an error message. Methods in B which do not access C execute correctly. Here is the error:
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> Access denied for user: 'SystemLogin@PublicIPAddressForServer' (Using password: YES) --- End of inner exception stack trace ---
Originally the application was deployed two a two server environment. Server 1 contained A and B, Server 2 has C. It was then that I originally received the error. Since then, I have moved all three applications to the same server, yet receive the same error. The proxies load relative to Urls stored in their respective web.config. App B implements the WSE 1.0 enhancements for security and uses a custom IPassword handler. App C does not use WSE because it is intended to be only accessible across a private network or locally. Besides the IPassword provider in B is intended for user access, the same provider would not be appropriate for C as it processes credit transaction for the entire system regardless of enduser.
In an effort to resolve the problem, I have added NetworkCredentials to the proxy for C when accessed from B.
I find it interesting that the IP address returned in the error is the public IP address. I would expect the IP to be the local ip or 127.0.0.1, but it appears to be making a round robin even though the static ip or localhost is used to reference the services in C.
I receive the same error when browsing locally as well as remotely.
Does anyone have suggestion of debugging or resolving this issue? Your help is greatly appreciated.
Ray