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 እና ሌሎዎ ቅንብሮች እንዲቆይ። ይህ Spring-WS 4.1.0 ከApache HttpClient 5 ጋር ነው። አብነቱ ያለ ፕሮክሲ ማረጋገጭ የተፈቀደ ይፈላዊ SOAP አገልግሎትን የሚያንጣጥር ከሆነ፣ ከየHTTP ፕሮክሲ ዝርድር የሚገኝ HTTP አድራሻ የአስተካካዩን ፕሮክሲ መሙላት ይችላል።

withDefaults በSOAP የሚቀርበውን Content-Length እና Transfer-Encoding ከApache HTTP አቀራረብ መፈጠር በፊት የሚያስወግደውን አቋራጭ ይይዛል። የፕሮክሲ አስተካካዩን ዥየረ መጨምር ያንን ውህደቤት በአስተካካዩ ያልተጨመረ ደንበኛ እንዳይተኛች ያደርጋል። ለተለየ ሁኔቴ ለተገነባ Apache ደንበኛ የSpring-WS ራስጌ ማስወገጃ አቋራጭን ይያዙ።

ግብዓቶችን (imports) እና ላኪን መፈጠር አስማማ። HttpComponentsMessageSender/org.apache.http የሚጠቀሙ አሮጌ ምሳሌዎች Apache 4ን ይጠቀማሉ፣ ይህን SimpleHttpComponents5MessageSender እና HttpHost በይነገጥን አይደለም።

በእድ የተፈጠረ ላኪን ለSOAP ደንበኛኛ ህይወት በሁሉ ይያዙ እና ከዚያ መለው መደበኛ ጥፈት ያዘግጁ። በSpring የሚተደደር bean የኮንቴይነሩን ህይወት ዑደት መጠቀም ይችላል። ሌሎዎ ላኪዎችን የሚይዛሉ ሌሎዎ አብነቶች የራስቸናዊ የሚግገድ ውቅር ይይዛላሉ።

ተዛማጅ ጽሑፎች