[英]WebService default uri java.lang.IllegalArgumentException: 'uri' must not be empty
我正在使用 spring WebServiceTemplate 使用 Soap WebService,下面是 bean 創建和我的 bean 類,但不知道為什么我無法獲得默認 Uri 的值。 有人可以幫忙解決這個問題。
服務上下文.java
@Bean
public Jaxb2Marshaller marshaller() {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setContextPath("com.canaldigital.tsi.schema.psd.psd_managecustomer.v2");
return marshaller;
}
@Bean
public SaajSoapMessageFactory messageFactory() {
SaajSoapMessageFactory factory=new SaajSoapMessageFactory();
factory.setSoapVersion(SoapVersion.SOAP_12);
return factory;
}
@Bean
public ManageService voucherService(Jaxb2Marshaller marshaller,SaajSoapMessageFactory messageFactory) {
ManageService service = new ManageService();
service.setDefaultUri("http://localhost:7001/CustomerService?WSDL");
service.setMarshaller(marshaller);
service.setUnmarshaller(marshaller);
service.setMessageFactory(messageFactory);
return service;
}
管理服務.java
public class ManageService extends WebServiceGatewaySupport {
try{
System.out.println("Finalyy calllingggg service: "+getWebServiceTemplate());
System.out.println("WebService template URI is: ---- "+getWebServiceTemplate().getDefaultUri());
JAXBElement<GetCustomerInfoRequestType> mustangRequst=new createGetCustomerInfoRequest(customer);
(JAXBElement<GetCustomerInfoResponseType>) getWebServiceTemplate().marshalSendAndReceive(mustangRequst);
}catch(Exception e){
e.printStackTrace();
}
}
當您調用擴展 WebServiceGatewaySupport 的客戶端時,您應該使用 @Autowired
檢查您的服務上是否沒有 @Service 注釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.