使用字符串请求和响应来调用 SOAP Web 服务的最简单方法是什么?

What's the simplest way to call a SOAP web service using a String for the request and response?

我正在诊断一个问题,想知道调用 SOAP Web 服务的最简单方法。我想设置一个简单的 junit(集成)测试,它将命中 SOAP 服务。我有一个按预期工作的 SoapUI 请求,我想从中获取 URL 和肥皂信封 XML 请求作为字符串,从 Java class 中调用它并将响应作为字符串。我试图避免生成通常与使用 SOAP 服务有关的所有 objects/clients/etc。我只是在寻找一种快速而肮脏的方法来完成这个。

我发现以下满足我的需求:

    OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder()
            .url(SERVICE_URL)
            .put(RequestBody.create(MediaType.parse("application/octet-stream"), REQUEST_BODY))
            .addHeader("cache-control", "no-cache")
            .build();
    Response response = client.newCall(request).execute();
    String responseBody = response.body().string();