을 사용하여 편안한 wcf 서비스를 호출 할 때 http 400 오류가 발생했습니다. wcf 서비스를 설정했습니다. 불행히도, 나는 피들러, 웹, 또는 아무데도 통해 서비스를 호출하면 HTTP 400 오류가 발생합니다. 나는이 문제를 해결하기 위해 어디서부터 시작 해야할지 정말 당혹 스럽다. 모든 제안을 부탁드립니다. WSDL은 현재로서는 옵션이 아닙니다. REST가 필수입니다. 이전에 GET을 사용하여 전화를 걸 수 있었지만 유효성을 검사하기 위해 사용자 ID와 암호를 전달해야하므로 쉽게 볼 수 없었습니다.http 포스트
[WebInvoke(UriTemplate = "/Login", Method="POST",
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped)]
[OperationContract]
bool Login(string UserName, string PassWord, string AppKey);
서비스는 다음과 같은 코드가 있습니다 :
WCF 서비스는 다음과 같은 인터페이스를 가지고 있습니다. 예,이 코드는 불완전하며 AppKey가 실제로 아무 것도하지 않는다는 것을 알고 있습니다.이 시점에서 자리 표시 자입니다.
public bool Login(string UserName, string PassWord, string AppKey)
{
bool bl = false;
if (String.IsNullOrEmpty(AppKey))
{
throw (new ApplicationException(AppKeyNull));
}
if (Membership.ValidateUser(UserName, PassWord))
{
bl = true;
}
return (bl);
}
피들러를 통해 서비스를 호출하려고합니다. 나는 다음과 같은 URL이 있습니다
http://127.0.0.1:82/WebServices/RemoteAPI.svc/Login
을 나는 다음 헤더 설정이 있습니다
User-Agent: Fiddler
Host: 127.0.0.1:82
Content-Length: 46
Content-Type: application/x-www-form-urlencoded
을 나는 다음과 같은 몸의 설정이 있습니다
UserName=xxxxxx&PassWord=yyyyyy&AppKey=blah
제안 해 주셔서 감사합니다. 내용 길이를 손으로 계산하고 46도 나왔습니다. 나는 fiddler가 이것을 스스로 계산할 수있게했다. 불행히도이 문제는 해결되지 않았습니다. –
David에게 감사드립니다. 나는이 일을 얻었다. –