Почему этот простой клиент SOAP не работает (org.apache.http)?
Я хочу отправить файл XML в качестве запроса на сервер SOAP. Вот код, который у меня есть: (изменено изОтправка HTTP-запроса Post с действием SOAP с использованием org.apache.http )
import org.apache.http.client.*;
import org.apache.http.client.methods.*;
import org.apache.http.impl.client.*;
import org.apache.http.entity.StringEntity;
import org.apache.http.protocol.HTTP;
import org.apache.http.HttpResponse;
import java.net.URI;
public static void req() {
try {
HttpClient httpclient = new DefaultHttpClient();
String body="xml here";
String bodyLength=new Integer(body.length()).toString();
URI uri=new URI("http://1.1.1.1:100/Service");
HttpPost httpPost = new HttpPost(uri);
httpPost.setHeader( "SOAPAction", "MonitoringService" );
httpPost.setHeader("Content-Type", "text/xml;charset=UTF-8");
StringEntity entity = new StringEntity(body, "text/xml",HTTP.DEFAULT_CONTENT_CHARSET);
httpPost.setEntity(entity);
RequestWrapper requestWrapper=new RequestWrapper(httpPost);
requestWrapper.setMethod("POST");
requestWrapper.setHeader("Content-Length",bodyLength);
HttpResponse response = httpclient.execute(requestWrapper);
System.out.println(response);
} catch (Exception e) {
e.printStackTrace();
}
}
До этого я получал сообщение об ошибке "http 500". (внутренняя ошибка сервера) с сервера, но теперь я не получаю никакого ответа вообще. Я знаю, что сервер работает правильно, потому что с другими клиентами проблем нет.
Благодарю.