resttemplate调用webservice wsdl
RestTemplate是Spring框架中的一个HTTP客户端工具类,可以用来访问RESTful API或者SOAP服务。在使用RestTemplate调用Web Service时,需要先获取WebService的WSDL文件,然后根据WSDL文件生成SOAP请求报文,最后发送HTTP请求,获取WebService的响应报文。
具体步骤如下:
1. 在Spring配置文件中配置RestTemplate相关的Bean。
```
<bean id='restTemplate' class='org.springframework.web.client.RestTemplate'>
<constructor-arg>
<bean class='org.springframework.http.client.HttpComponentsClientHttpRequestFactory' />
</constructor-arg>
</bean>
```
2. 根据WSDL文件生成SOAP请求报文。
```
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setContextPath('ample.webservice');
marshaller.afterPropertiesSet();
WebServiceTemplate webServiceTemplate = new WebServiceTemplate(marshaller);
String endpointUrl = 'localhost:8080/webservice';
webServiceTemplate.setDefaultUri(endpointUrl);
ObjectFactory objectFactory = new ObjectFactory();
GetBookRequest request = ateGetBookRequest();
request.setBookId(1);
GetBookResponse response = (GetBookResponse) webServiceTemplate.marshalSendAndReceive(request);
```
3. 发送HTTP请求,获取WebService的响应报文。
调用webservice服务 ```
String responseBody = restTemplate.postForObject(endpointUrl, soapRequest, String.class);
```
其中,soapRequest是根据WSDL文件生成的SOAP请求报文。
以上就是使用RestTemplate调用WebService的基本步骤。需要注意的是,具体实现还需要根据不同的WebService进行调整,比如在生成SOAP请求报文时需要根据具体的WSDL文件来设置SOAPAction等参数。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论