import org.apache.hc.core5.http.HttpHost;
import org.springframework.ws.transport.http.HttpComponents5ClientFactory;
import org.springframework.ws.transport.http.SimpleHttpComponents5MessageSender;

var factory = HttpComponents5ClientFactory.withDefaults();
factory.addClientBuilderCustomizer(builder ->
    builder.setProxy(new HttpHost("http", "proxy.example", 8080)));

var sender = new SimpleHttpComponents5MessageSender(factory);
template.setMessageSender(sender);

Дуудлагын өмнө энэ илгээгчийг одоо байгаа template-д хэрэглэж, үйлчилгээний URI, marshaller болон бусад тохиргоог хадгална. Энэ нь Apache HttpClient 5-тай Spring-WS 4.1.0 юм. Хэрэв загвар нь прокси баталгаажуулалтгүй зөвшөөрөгдсөн нийтийн SOAP үйлчилгээг зорьж байвал HTTP прокси жагсаалтаас авсан HTTP хаяг тохируулагчийн проксийг дүүргэж чадна.

withDefaults нь Apache HTTP хүрээ үүсгэхээс өмнө SOAP-ын өгсөн Content-Length болон Transfer-Encoding толгойг устгадаг интерцепторыг хадгална. Тэнд прокси тохируулагч нэмснээр тэр интеграцийг энгийн клиентээр солихоос сэргийлнэ. Тусдаа бүтээсэн Apache клиентийн хувьд Spring-WS-ийн толгой устгах интерцепторыг хадгалаарай.

Импорт болон илгээгч үүсгэхийг тааруулна уу. HttpComponentsMessageSender/org.apache.http ашигладаг хуучин жишээнүүд Apache 4-ийг ашигладаг бөгөөд энэ SimpleHttpComponents5MessageSender болон HttpHost интерфэйс биш.

Гараар үүсгэсэн илгээгчийг SOAP клиентийн бүх насны турш хадгалж, дараа нь түүнийг хэвийн устгахыг зохион байгуулна. Spring-ийн удирддаг bean нь контейнерын амьдралын мөчлөгийг ашиглаж болно. Бусад илгээгчийг хадгалдаг бусад загварууд өөрийн тээврийн тохиргоог хадгална.

Холбоотой нийтлэлүүд