2014-02-17 6 views
1

을 나머지는 내가 WCF 비누 서비스를하고 난 내 인터페이스는 헤더 클래스에서이WCF 비누와 함께

[SoapHeader("HelperHeader", typeof(HelperHeader), Direction = SoapHeaderDirection.In)] 
    [OperationContract] 
    string GetData(string id); 

    //////// 
    public string GetData(string id) 
    { 
     HelperHeader clientHeader=SoapHeaderHelper<HelperHeader>.GetInputHeader("HelperHeader"); 
    if (clientHeader != null) 
     return id 
    } 

과 같은 예를 들어 SOAP 헤더

http://wcfextras.codeplex.com/

이 라이브러리를 사용하고 말할 수 있습니다 basicHttpbinding에 대한 사용자 이름과 암호가 있습니다. 이제 REST 서비스에 "GetData"메서드를 사용하려고합니다. (두 번째 webHttbinding도 있습니다.) 나는 REST 클라이언트에 대해이 방법 "GetData의"를 사용하려면, 지금은 내가 속성에 WebGet 및 WebInvoke의

[OperationContract] 
    [WebGet(UriTemplate = "testjson/{id}", ResponseFormat = WebMessageFormat.Json)] 
    string GetData(string id); 

내 quietion 내가 REST와 SOAP 서비스를 모두 하나의 방법 "GetData의"를 사용하는 방법입니다 사용할 수있는 것을 발견 사용자 이름과 암호로 당신이 만들 때

+0

중복 가능성이 속성을 호출하여 헤더 컬렉션에 액세스 할 수 있습니다 [WCF 서비스에 대한 REST/SOAP 끝점] (http://stackoverflow.com/questions/186631/rest-soap-endpoints-for-a-wcf-service) –

+0

그러나 사용자 이름과 암호를 전달하는 방법을 원합니다. REST 메서드 .. 메서드에서 전달하지 않고. – beka

+0

아마도 그것에 대해 별도의 질문을해야합니다. 귀하의 질문에 내가 그것을 읽는 방법 * 하나의 방법을 사용할 수있는 "GetData"REST 및 SOAP 서비스 *에 대한 중복 질문입니다. * 및 사용자 이름 및 암호 *에 관한 비트는 잘 설명되지 않고 좋은 대답을 얻기 전에 추가 작업이 필요합니다. –

답변

0

는 HttpRequest를 추가 할 수있는 당신이 헤더 컬렉션에 원하는 :

WebRequest request = WebRequest.Create("<URI>"); 
request.Headers.Add("username", "<UserName>"); 
request.Headers.Add("password", "<Pass>"); 
request.GetResponse(); 

및 서비스 구현을 쉽게 WebOperationContext.Current.IncomingRequest.Headers