2013-02-08 4 views
0

타사 SOAP 웹 서비스와 상호 작용하는 클라이언트를 작성하려고합니다. 이 웹 서비스에는 WSE 보안이 필요합니다.WSE 웹 서비스 클라이언트 SoapHeaderException

나는 상호 작용하려는 서비스의 WSDL에서 구식 .asmx 웹 서비스를 생성했습니다. WSDL에는 WSE 보안에 대한 정보가 없습니다.

WSE 보안 기능이 없으면 잘 연결할 수 있습니다. 그러나 .asmx 웹 서비스에 WSE 보안을 추가했습니다.

나는 내가 나에게 매우 말하지 않는 다음과 같은 예외를 얻을 processMessage를 메서드를 호출 할 때 지금,

SoapContext requestContext = host.RequestSoapContext; 
UsernameToken userToken = new UsernameToken("username", "password", PasswordOption.SendPlainText); 
requestContext.Security.Tokens.Add(userToken); 

그러나 내 WSE 사용자 이름을 추가 할 수있는 클라이언트와 비밀번호에 다음 코드를 추가 :

System.Web.Services.Protocols.SoapHeaderException : 사용할 수없는 서버 (SoapClientMe을 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse에서 나중에

을 시도하십시오 ssage 메시지 WebResponse를 응답 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke에서 스트림 responseStream 부울 asyncCall)

(문자열 methodName로, [] 오브젝트 파라미터)에 Reynolds.Core.STARProxy.STARWebService

. processMessage를 C에서 (페이로드 & 페이로드) : 프로젝트 \ \ Reynolds.Core \ Reynolds.Core \ STARProxy \ Reference.cs \ 웹 참조 : Reynolds.Core.reynolds.SendGenericXMLRequest에서 라인 (105)

(XMLELEMENT [] inputElements, 문자열 url, Guid [] guids) : C : \ Projects \ Reynolds.Core \ Reynolds.Core \ Reynolds.cs : 줄 191

C에서 Reynolds.Core.reynolds.SendGenericSingleXMLRequest (XMLELEMENT inputXML, 문자열 URL, 가이 GUID)에서 363,210

: 라인 125

Reynolds.Core.reynolds에서 : 프로젝트 \ Reynolds.Core \ Reynolds.Core \ Reynolds.cs \ C에서 .SendGenericSingleXMLRequest (XMLELEMENT inputXML, 문자열 URL) : 라인 120 Reynolds.Core.reynolds.SendGenericSingleXMLRequest (XMLELEMENT inputXML) C에서에서

: \ 프로젝트 프로젝트 \ Reynolds.Core \ Reynolds.Core \ Reynolds.cs \ \ Reynolds.Core \ Reynolds.Core \ Reynolds.cs : 라인 114

Reynolds.Testing.GUI.Form1.btnProcessMessage_Click (Object sender, EventArgs e) in C : \ Projects \ Reynolds.Testing \ Reynolds.Testing. GUI \ Form1.cs : 줄 33

예외가 실제로 여기에 많은 것을 제공하지 않습니다. 다양한 Google 검색을 시도했지만 어느 곳에서나 검색 할 수 없었습니다.

WSE를 처음 사용하기 때문에 도움이 될 것입니다.

+0

WSE는 더 이상 사용되지 않습니다. 그것은 6 년 전에 WCF로 대체되었습니다. 대신 새로운 개발을 위해 WCF를 사용해야합니다. –

+0

저는 서비스가 아닌 클라이언트 만 만들고 있습니다. 이 서비스에는 WSE가 필요합니다. WSE를 사용하는 WCF 클라이언트를 구축 할 수 있습니까? – jkruer01

+0

대부분의 경우 예, WSE 서비스 용 WCF 클라이언트를 만들 수 있습니다.이 문제는 WSE가 비표준 영역 (표준이 완료되기 전에 출하 된 영역)에서 발생할 수 있습니다. 이 경우 비표준과 일치하도록 WCF 구성을 변경해야 할 수 있습니다. –

답변

0

예외 상태는 Server unavailable, please try later입니다. 이는 타사 웹 서비스에 대한 URL이 잘못되었거나 타사 서버가 다운되었음을 의미합니다.

+0

"이 예외에 대한 일반 도움말 가져 오기"를 클릭하면 "XML 웹 서비스 메서드가 SOAP을 통해 호출되고 SOAP 헤더 처리 중에 예외가 발생하면 예외가 throw됩니다. 서비스를 사용할 수는 있지만 오류가 발생합니다 어딘가에/어떻게 든 .WSE 보안을 제거하면 제대로 작동합니다. – jkruer01