상황 ------------
닷넷에서 자바 웹서비스를 호출할 경우 Web Connection 이 끊김.
자바측 WebService 는 총 4대의 서버이고 L4 로 로드밸런싱 되고 있음.
자바측 Keep-alive = false 이고
닷넷측 Keep-alive = true 이다.
즉
using(wsjavaweb a = new wsjavaweb()){ <-- 1. 여기서는 연결됨(1번서버 바라봄)
string result = a.methodCall(); <-- 2. 여기서 연결이 끊김.(L4 에서 다른 서버를 할당함)
}
자바측 웹로직 서버의 Keep-alive 가 false 이기 때문에 1번은 연결이 잘 됨.
그러나 2번 호출시 L4 에서 다른 서버로 연결을 보낼 경우 1번에서 연결된
WebRequest 연결을 사용할 수 없음.
해결 ------------
닷넷 측 웹서비스에서 Reference.cs 파일에 메소드를 오버라이드 하여 문제가 해결됨.
protected override WebRequest GetWebRequest(Uri uri)
{
HttpWebRequest webRequest = (HttpWebRequest) base.GetWebRequest(uri);
webRequest.KeepAlive = false;
return webRequest;
}
닷넷에서 자바 웹서비스를 호출할 경우 Web Connection 이 끊김.
자바측 WebService 는 총 4대의 서버이고 L4 로 로드밸런싱 되고 있음.
자바측 Keep-alive = false 이고
닷넷측 Keep-alive = true 이다.
즉
using(wsjavaweb a = new wsjavaweb()){ <-- 1. 여기서는 연결됨(1번서버 바라봄)
string result = a.methodCall(); <-- 2. 여기서 연결이 끊김.(L4 에서 다른 서버를 할당함)
}
자바측 웹로직 서버의 Keep-alive 가 false 이기 때문에 1번은 연결이 잘 됨.
그러나 2번 호출시 L4 에서 다른 서버로 연결을 보낼 경우 1번에서 연결된
WebRequest 연결을 사용할 수 없음.
해결 ------------
닷넷 측 웹서비스에서 Reference.cs 파일에 메소드를 오버라이드 하여 문제가 해결됨.
protected override WebRequest GetWebRequest(Uri uri)
{
HttpWebRequest webRequest = (HttpWebRequest) base.GetWebRequest(uri);
webRequest.KeepAlive = false;
return webRequest;
}
'.NET > ASP.NET' 카테고리의 다른 글
[펌] Warning the User when Caps Lock is On (0) | 2009.09.29 |
---|---|
[펌] 동적으로 웹 서버 컨트롤 템플릿 만들기 (0) | 2009.09.29 |
asp.net TreeView IE 7 에서 스타일 깨질때... (0) | 2008.07.28 |
[ASP.NET] Response.End, Response.Redirect 또는 Server.Transfer를 사용하면 ThreadAbortException이 발생한다 (0) | 2008.04.18 |
[ASP.NET] HtmlTable 에 CSS CLASS 지정 (0) | 2008.02.27 |