我有一个现有的应用程序,由java用Spring boot + webservice编写。
最近,我从测试部门得到了一个要求,即同事希望应用程序返回由他输入的响应,无论响应是否违反XSD。
作为Spring Producing a SOAP web service example参考,我如何控制响应?
这是因为,通常,CountryEndpoint返回的响应是一个对象,它是根据countries.xsd
生成的。我应该实现自己的MessageDispatcher / EndpointAdapter / Endpoint吗?
答案 0 :(得分:0)
最后,我开发了自己的EndpointInterceptorAdapter。 从Endpoint返回的响应是明确的,然后从我的同事提供的文件中读取XML
这是我的EndpointInterceptorAdapter的代码
public class SOIWSSimEndpointInterceptorAdapter extends EndpointInterceptorAdapter {
@Override
public boolean handleResponse(MessageContext messageContext, Object endpoint) throws IOException {
InputStream responseFileInputStream = new FileInputStream(new File("src/main/java/response/Response.xml"));
messageContext.clearResponse();
messageContext.readResponse(responseFileInputStream);
return true;
}
}