Próbuję wysłać żądanie pocztowe do serwera WebServer. Połączenie jest testowane w jmeter.

Test in JMeter (HTTP Request Details)

Teraz mam następujący kod:

 //HEADER SECTION
    post.setHeader("Connection","keep-alive");
    post.setHeader("Host", "http://sv2XXX.XXX.XXX.XXX.com:8080");
    post.setHeader("Content-Type", "text/plain");
    
    
    //BODY SECTION
    ArrayList<NameValuePair> urlParameters = new ArrayList<NameValuePair>();
    urlParameters.add(new BasicNameValuePair("","<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:api=\"http://api.XXX.XXX.XXX.com/\">" + 
            "<soap:Header>" + 
            "<api:userid>USER1</api:userid>" + 
            "</soap:Header>" + 
            "<soap:Body>" + 
            "<api:executeAbout>" + 
            "<About/>" + 
            "</api:executeAbout>" + 
            "</soap:Body>" + 
            "</soap:Envelope>"));

    post.setEntity(new UrlEncodedFormEntity(urlParameters));

Niektórzy w jaki sposób powoduje błąd "400 złego żądania". Moim zdaniem jest to spowodowane pustą nazwą w deklaracji parametrów. Ale nie wiem, jak to nazywać. Jakieś pomysły?

0
tifi90 28 lipiec 2020, 13:32

1 odpowiedź

Najlepsza odpowiedź

Znalazłem kod błędu w niemieckim Wikipedia Artykuł HTTP Header Fields HTTPS: // DE. wikipedia.org/wiki/liste_der_http-headerfelder. Przy okazji, w jaki kod błędu nie jest wymieniony w angielskim artykule https://en.wikipedia.org/wiki / List_of_http_header_fields.

Mówi, kiedy brakuje hosta w nagłówku, serwer musi odpowiedzieć z kodem błędu 400 złej prośby.

Sprawdziłem mój nagłówek i znalazłem wiodące http: //

Usuwanie "http: //" rozwiązał problem.

0
tifi90 28 lipiec 2020, 13:28