Заголовки http для клиента c # для службы Java - PullRequest
0 голосов
/ 03 августа 2011

Привет, я пытался добавить http-заголовки к веб-клиенту в c #, я искал много мест и мало повезло, что люди часто указывают на класс Credentials, однако у меня есть только ClientCredentials, в которых мой клиент также отсутствует, это поле PreAuthenticate?

Служба написана на Java, и я могу добавить к ней заголовки http следующим образом

reqHeaders.put(HEADER_NAME_USERNAME, Collections.singletonList(USER_NAME));
reqHeaders.put(HEADER_NAME_PASSWORD, Collections.singletonList(PASSWORD));
((BindingProvider) webWS).getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS,reqHeaders);

Однако я понятия не имею, как это сделать в C # i пробовал построитель адресов конечных точек, ClientCredential, Windows.ClientCredential в основном, где угодно, когда я могу найти имя пользователя и пароль. Когда я делаю запрос в Java, я перехватываю http-пакет в wireshark, выглядит примерно так

+hypertext transfer protocol
+POST
  post stuff
 Password: mypass
 Username: username
 soapaction: ... and so on

Я не могу изменить код на стороне сервера, все, что я знаю, еслия могу добавить два заголовка, один из которых называется username и один пароль со значениями, которые могут быть Sheening (читай: победа)

1 Ответ

1 голос
/ 15 августа 2011

http://msmvps.com/blogs/paulomorgado/archive/2007/04/27/wcf-building-an-http-user-agent-message-inspector.aspx

В основном это помогло решить мою проблему, вместо того, чтобы отредактировать app.config, хотя я добавил новый определенный класс поведения в

webservice.Endpoint.Behaviors.add (newCustomBehavior (PARAMS));

...