Мне нужен ответ предоставленной службы, чтобы иметь декларацию XML. я искал, но не смог найти решение, которое можно интегрировать в свой код.
Любые предложения приветствуются!
это мой код:< /p>
@EnableWs
@Configuration
public class WebServiceConfig extends WsConfigurerAdapter {
@Bean
public ServletRegistrationBean messageDispatcherServlet(ApplicationContext applicationContext) {
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setApplicationContext(applicationContext);
return new ServletRegistrationBean(servlet, "/license/services/*");
}
@Bean(name = "License")
public Wsdl11Definition defaultWsdl11Definition() {
SimpleWsdl11Definition wsdl11Definition = new SimpleWsdl11Definition();
wsdl11Definition.setWsdl(new ClassPathResource("/wsdl/avs_2.wsdl"));
return wsdl11Definition;
}
}
@Endpoint
public class WebServiceEndpoint {
private static final Logger LOGGER = LoggerFactory.getLogger(WebServiceEndpoint.class);
@PayloadRoot(namespace = "http://license", localPart = "getContentInfo")
@ResponsePayload
@ResponseStatus(code = HttpStatus.OK, reason = "OK")
public JAXBElement getRequest(@RequestPayload JAXBElement request) {
ObjectFactory factory = new ObjectFactory();
getContentInfoResponse response = factory.createGetContentInfoResponse();
ResponseLicense responseLicense = factory.createResponseLicense();
responseLicense.setPlayHoursRemained(23456);
responseLicense.setPlaysRemained(-1);
responseLicense.setResultCode(0);
//responseLicense.setResultMessage("");
response.setGetContentInfoReturn(responseLicense);
JAXBElement xml = createJaxbElement(response, getContentInfoResponse.class);
return xml;
}
private JAXBElement createJaxbElement(getContentInfoResponse response, Class clazz) {
JAXBElement xml = new JAXBElement(new QName(clazz.getSimpleName()), clazz, response);
return xml;
}
}
Я получаю нужный ответ...
23456
-1
0
но я бы хотел, чтобы заголовок ответа содержал объявление XML
Подробнее здесь: https://stackoverflow.com/questions/781 ... ot-project