C#에서 웹 참조를 사용하여이 작업을 수행하는 방법에 대한 많은 질문이 있지만 그 방법을 알고 있습니다. 내가 성취하려고하는 것은 기능을 복제하는 대신 프로젝트에서 참조 할 수있는 Java Web Services를 사용하는 휴대용 DLL을 갖는 것입니다. 그 중 하나는 웹 참조를 사용하면 KeepAlive
요청이 true
으로 설정된다는 것입니다. 그것은 개발중인 환경에서 작동하지 않으며 false
이어야합니다. Web References에서 내가 한 것은 SoapHttpClientProtocol
을 상속받은 추상 클래스를 만들고 Reference.cs를 추상 클래스에서 상속하도록 변경하는 것입니다. 추상 클래스는 다음과 같이보고 :이 날의 Web.config에 있던 값을 설정하는 GetWebRequest
생성자를 오버라이드 (override) 할 수C# 서비스 참조를 통해 Java 웹 서비스 사용
[System.Web.Services.WebServiceBinding(Name = "JavaWebReferenceProxy")]
public abstract class JavaWebReferenceProxy : SoapHttpClientProtocol
{
public JavaWebReferenceProxy()
{
base.Timeout = Settings.Instance.SoapTimeout;
}
protected override WebRequest GetWebRequest(Uri uri)
{
WebRequest rq = base.GetWebRequest(uri);
((HttpWebRequest)rq).KeepAlive = Settings.Instance.SoapKeepAlive;
return rq;
}
}
. Java Web Service에 대한 Service Reference를 통해이 작업을 수행하는 방법에 대해 궁금합니다. 내가 사용하고있는 프레임 워크 인 4.0에서 간소화 된 serviceModel
섹션에 대한 몇 가지 예제를 발견했지만 url과 timeout도 지정해야합니다. serviceModel
을 단순화하여 사용할 수 있는지 또는 전체 구현을 사용해야하는지 잘 모르겠습니다. 서비스 레퍼런스를 전혀 사용할 수 있는지 확신 할 수 없습니다. 누군가가 이런 식으로 뭔가를 구현했다면 나는 약간의 지침을 찾고 있습니다.
내 구성 파일에서 serviceModel
섹션이 어떻게 표시되어야합니까? 지정할 수 있어야하는 3 가지 사항은 URL, 제한 시간 및 연결 유지입니다. 미리 감사드립니다.
readerQuotas의 크기를 늘려야했지만 완벽하게 작동했습니다. 도와 줘서 고마워! –