Java笔记-解决java.lang.ClassCastException: javax.xml.bind.JAXBElement cannot be cast to
生活随笔
收集整理的這篇文章主要介紹了
Java笔记-解决java.lang.ClassCastException: javax.xml.bind.JAXBElement cannot be cast to
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
maven是這樣的
<dependencies> ...............<!-- web service 相關 --><dependency><groupId>org.springframework.ws</groupId><artifactId>spring-ws-security</artifactId><version>3.0.8.RELEASE</version></dependency><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>2.3.0</version></dependency><dependency><groupId>org.glassfish.jaxb</groupId><artifactId>jaxb-runtime</artifactId><version>2.3.0</version></dependency><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1</version></dependency><dependency><groupId>org.springframework.ws</groupId><artifactId>spring-ws-core</artifactId><version>3.0.8.RELEASE</version></dependency><dependency><groupId>wsdl4j</groupId><artifactId>wsdl4j</artifactId><version>1.6.1</version></dependency><dependency><groupId>org.springframework.ws</groupId><artifactId>spring-ws-support</artifactId><version>3.0.8.RELEASE</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.1.10.RELEASE</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>org.jvnet.jaxb2.maven2</groupId><artifactId>maven-jaxb2-plugin</artifactId><version>0.14.0</version><executions><execution><goals><goal>generate</goal></goals></execution></executions><configuration><schemaLanguage>WSDL</schemaLanguage><generatePackage>xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx</generatePackage><schemas><schema><url>file:///D:/xxxx/xxxx/xxxx/xxxx/xxxx/xxxx/xxxx.wsdl</url></schema></schemas></configuration></plugin></plugins></build>相關調用代碼是這樣的:
public class CountryClient extends WebServiceGatewaySupport {private static final Logger log = LoggerFactory.getLogger(CountryClient.class);public GetCountryResponse getCountry(String country) {GetCountryRequest request = new GetCountryRequest();request.setName(country);log.info("Requesting location for " + country);GetCountryResponse response = (GetCountryResponse) getWebServiceTemplate().marshalSendAndReceive("http://localhost:8080/ws/countries", request,new SoapActionCallback("http://spring.io/guides/gs-producing-web-service/GetCountryRequest"));return response;}}改成這樣即可:
public class CountryClient extends WebServiceGatewaySupport {private static final Logger log = LoggerFactory.getLogger(CountryClient.class);public GetCountryResponse getCountry(String country) {GetCountryRequest request = new GetCountryRequest();request.setName(country);log.info("Requesting location for " + country);JAXBElement<GetFileRequestResponse> response = (JAXBElement<GetFileRequestResponse>) getWebServiceTemplate().marshalSendAndReceive("http://localhost:8080/ws/countries", request,new SoapActionCallback("http://spring.io/guides/gs-producing-web-service/GetCountryRequest"));return response.getValue();}}?
總結
以上是生活随笔為你收集整理的Java笔记-解决java.lang.ClassCastException: javax.xml.bind.JAXBElement cannot be cast to的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot文档阅读笔记-Sp
- 下一篇: canvas笔记-使用canvas画圆及