Polish "Add auto-configuration for WebServiceTemplate"
Closes gh-1270
This commit is contained in:
@@ -5634,6 +5634,7 @@ The following code shows a typical example:
|
||||
----
|
||||
|
||||
|
||||
|
||||
[[boot-features-webclient-customization]]
|
||||
=== WebClient Customization
|
||||
There are three main approaches to `WebClient` customization, depending on how broadly you
|
||||
@@ -5652,35 +5653,6 @@ the point of injection.
|
||||
Finally, you can fall back to the original API and use `WebClient.create()`. In that case,
|
||||
no auto-configuration or `WebClientCustomizer` is applied.
|
||||
|
||||
[[boot-features-webservicetemplate]]
|
||||
== Calling Web Services with `WebServiceTemplate`
|
||||
If you need to call remote WEB services from your application, you can use the Spring
|
||||
Framework's {spring-webservices-reference}#client-web-service-template[`WebServiceTemplate`] class. Since
|
||||
`WebServiceTemplate` instances often need to be customized before being used, Spring Boot does
|
||||
not provide any single auto-configured `WebServiceTemplate` bean. It does, however,
|
||||
auto-configure a `WebServiceTemplateBuilder`, which can be used to create `WebServiceTemplate`
|
||||
instances when needed.
|
||||
|
||||
The following code shows a typical example:
|
||||
|
||||
[source,java,indent=0]
|
||||
----
|
||||
@Service
|
||||
public class MyService {
|
||||
|
||||
private final WebServiceTemplate webServiceTemplate;
|
||||
|
||||
public MyService(WebServiceTemplateBuilder webServiceTemplateBuilder) {
|
||||
this.webServiceTemplate = webServiceTemplateBuilder.build();
|
||||
}
|
||||
|
||||
public DetailsResp someCall(DetailsReq detailsReq) {
|
||||
return (DetailsResp) this.webServiceTemplate.marshalSendAndReceive(detailsReq, new SoapActionCallback(ACTION));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
----
|
||||
|
||||
|
||||
[[boot-features-validation]]
|
||||
@@ -7416,6 +7388,51 @@ following example:
|
||||
|
||||
|
||||
|
||||
[[boot-features-webservices-template]]
|
||||
== Calling Web Services with `WebServiceTemplate`
|
||||
If you need to call remote Web services from your application, you can use the
|
||||
{spring-webservices-reference}#client-web-service-template[`WebServiceTemplate`] class.
|
||||
Since `WebServiceTemplate` instances often need to be customized before being used, Spring
|
||||
Boot does not provide any single auto-configured `WebServiceTemplate` bean. It does,
|
||||
however, auto-configure a `WebServiceTemplateBuilder`, which can be used to create
|
||||
`WebServiceTemplate` instances when needed.
|
||||
|
||||
The following code shows a typical example:
|
||||
|
||||
[source,java,indent=0]
|
||||
----
|
||||
@Service
|
||||
public class MyService {
|
||||
|
||||
private final WebServiceTemplate webServiceTemplate;
|
||||
|
||||
public MyService(WebServiceTemplateBuilder webServiceTemplateBuilder) {
|
||||
this.webServiceTemplate = webServiceTemplateBuilder.build();
|
||||
}
|
||||
|
||||
public DetailsResp someWsCall(DetailsReq detailsReq) {
|
||||
return (DetailsResp) this.webServiceTemplate.marshalSendAndReceive(detailsReq, new SoapActionCallback(ACTION));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
----
|
||||
|
||||
By default, `WebServiceTemplateBuilder` detects a suitable HTTP-based
|
||||
`WebServiceMessageSender` using the available HTTP client libraries on the classpath. You
|
||||
can also customize read and connection timeouts as follows:
|
||||
|
||||
[source,java,indent=0]
|
||||
----
|
||||
@Bean
|
||||
public WebServiceTemplate webServiceTemplate(WebServiceTemplateBuilder builder) {
|
||||
return builder.messageSenders(new HttpWebServiceMessageSenderBuilder()
|
||||
.setReadTimeout(5000).setConnectionTimeout(2000).build()).build();
|
||||
}
|
||||
----
|
||||
|
||||
|
||||
|
||||
[[boot-features-developing-auto-configuration]]
|
||||
== Creating Your Own Auto-configuration
|
||||
If you work in a company that develops shared libraries, or if you work on an open-source
|
||||
|
||||
Reference in New Issue
Block a user