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);

Ushbu jo'natuvchini chaqiruvlardan oldin mavjud template ga qo'llang, xizmat URI si, marshaller va boshqa sozlamalarni saqlab qoling. Bu Apache HttpClient 5 bilan Spring-WS 4.1.0. Agar shablon proksi autentifikatsiyasisiz ruxsat etilgan ommaviy SOAP xizmatini nishonga olsa, HTTP proksilar ro'yxatidan HTTP manzil moslashtiruvchining proksisini to'ldirishi mumkin.

withDefaults Apache HTTP ramkasini yaratishdan oldin SOAP taqdim etgan Content-Length va Transfer-Encoding sarlavhalarini olib tashlaydigan tutib olgichni saqlaydi. Proksi moslashtiruvchisini aynan o'sha yerga qo'shish bu integratsiyani yalang'och mijoz bilan almashtirishdan saqlaydi. Alohida qurilgan Apache mijozi uchun Spring-WS ning sarlavhalarni olib tashlovchi tutib olgichini saqlang.

Importlar va jo'natuvchi yaratilishini moslashtiring. HttpComponentsMessageSender/org.apache.http ishlatadigan eski misollar Apache 4 ga tayanadi, bu SimpleHttpComponents5MessageSender va HttpHost interfeysiga emas.

Qo'lda yaratilgan jo'natuvchini SOAP mijozining butun umri davomida saqlang va keyin uning odatdagi yo'q qilinishini ta'minlang. Spring boshqaradigan bean konteyner hayot sikllaridan foydalanishi mumkin. Boshqa jo'natuvchilarni saqlaydigan boshqa shablonlar o'z transport sozlamalarini saqlaydi.

O'xshash maqolalar