2012-03-21 4 views
0

SOAP 메시지가 포함 된 XMLHTTPRequest가 있습니다.
메시지를 식별하고 C# 웹 서비스에서 사용할 GUID를 추가하려고합니다.
GUID 목표는 특정 사용자를 식별하고 서버에서 인증 용도로 모든 사용자 요청을 호 스트하는 것으로 가정합니다.이 GUID는 사용자 로그인시 생성되고 서버에 저장된 다음 모든 요청에 ​​대해 서버가 GUID를 확인합니다.어떤 헤더를 사용해야합니까? XMLHTTPRequest 헤더 또는 SOAP 헤더?

setRequestHeader("GUID", this.requestGUID); 

또는 사용 SOAP 헤더

<?xml version="1.0"?<?xml version="1.0"?> 
<soap:Envelope 
xmlns:soap="http://www.w3.org/2001/12/soap-envelope" 
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> 

<soap:Header> 
    <GUID>someGUID...</GUID> 
</soap:Header> 
... 
... 
</soap:Envelope> 

그들 중 하나에 대한 어떤 장점이 있습니까 :

는이 같은하는 XMLHTTPRequest 헤더를 사용해야합니까?

감사합니다.

답변

3

귀하의 질문에 대한 답변은 대부분 취향의 문제라고 생각합니다. 나는 개인적으로 setRequestHeader 메서드를 사용하는 것을 선호합니다. 메시지 공간을 줄이고 SOAP에 종속되지 않습니다 (개인적으로 JSON을 SOAP로 더 많이 사용함).

내가 GUID 가치의 본질에 대해 더 많이 안다면 마음이 바뀔 것입니다. GUID가 데이터의 속성이면 메시지 본문이 더 적합 할 것입니다. 귀하가 질문에 게시 할 때 더 이상 정보가 없기 때문에 나는 setRequestHeader에 머물러 있습니다.

+0

GUID 목표는 특정 사용자를 식별하고 서버에서 인증 목적으로 모든 사용자 요청을 호 스트하기로되어 있습니다.이 GUID는 사용자 로그인시 생성되고 서버에 저장된 다음 모든 요청에 ​​대해 서버가 확인합니다. –

+0

@DorCohen : HTTP 헤더로 더 많이 들립니다. 그것은 HTTP의 'Authorization' 헤더 설정에 대해 상기시켜줍니다 (헤더에는 사용자 정의 인증 정보도 포함될 수 있음). – Oleg

+0

그리고 링커로 대답에 대해 뭐라 말씀하시는 겁니까? 그것은 당신의 대답보다 반대입니다 –

0

코드에 SOAP 메시지가있는 경우 비누 헤더가 있어야합니다. SOAP 메시지를 다른 헤더와 함께 사용하면 SOAP 스택의 일부 구현이 중단 될 수 있습니다. .NET의 구현은 특히 엄격합니다.

XMLHTTPRequest 헤더는 그 뒤에 다른 원칙을 가진 안정적인 서비스에 사용됩니다.

관련 문제