Я настроил службу wcf. К сожалению, когда я звоню в службу через Fiddler, Интернет или где-то еще, я получаю ошибку http 400. Я действительно озадачен тем, с чего начать решать эту проблему. Любые предложения приветствуются. WSDL не вариант в настоящее время. ОТДЫХ является требованием. Я мог совершать вызовы ранее, используя GET, однако получение не является безопасным, поскольку мне нужно передать идентификатор пользователя и пароль для проверки, и это было бы легко просмотреть.
Служба wcf имеет следующий интерфейс:
[WebInvoke(UriTemplate = "/Login", Method="POST",
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped)]
[OperationContract]
bool Login(string UserName, string PassWord, string AppKey);
Сервис имеет следующий код. да, этот код неполон, и я знаю, что 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