Konfigurasikan proksi Spring-WS 4.1 dengan HttpComponents 5
Sesuaikan kilang klien HttpComponents5 Spring-WS 4.1 dan lampirkan penghantar yang terhasil pada WebServiceTemplate.
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);Gunakan penghantar ini pada template sedia ada sebelum panggilan, dengan mengekalkan URI perkhidmatan, marshaller dan tetapan lain. Ini ialah Spring-WS 4.1.0 dengan Apache HttpClient 5. Jika templat menyasarkan perkhidmatan SOAP awam yang dibenarkan tanpa pengesahan proksi, alamat HTTP daripada senarai proksi HTTP boleh mengisi proksi penyesuai.
withDefaults mengekalkan pencegat yang membuang Content-Length dan Transfer-Encoding daripada SOAP sebelum Apache menjana pembingkaian HTTP. Menambah penyesuai proksi di situ mengelakkan integrasi itu diganti dengan klien bogel. Untuk klien Apache yang dibina secara berasingan, kekalkan pencegat pembuangan pengepala Spring-WS.
Padankan import dan penjanaan penghantar. Contoh lama dengan HttpComponentsMessageSender/org.apache.http menggunakan Apache 4, bukan SimpleHttpComponents5MessageSender dan antara muka HttpHost ini.
Kekalkan penghantar yang dicipta secara manual sepanjang hayat klien SOAP dan atur pemusnahannya secara normal selepas itu. Bean yang diurus Spring boleh menggunakan kitaran hayat bekas. Templat lain yang mengekalkan penghantar lain mengekalkan konfigurasi pengangkutan mereka sendiri.