我正在使用的wsdl没有单独的xsd文件。xsd模式包含在wsdl文件中,如下所示
<wsdl:definitions name="myProject"
targetNamespace="http://www.company.gr/myProject/definitions"
xmlns:tns="http://www.company.gr/myProject/definitions"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd1="http://www.company.gr/myProject/schemas">
<wsdl:types>
<schema
targetNamespace="http://www.company.gr/myProject/schemas"
xmlns="http://www.w3.org/2001/XMLSchema">
<simpleType name="aaa">
...
</simpleType>
...
我想添加一个验证拦截器,代码如下:
@Override
public void addInterceptors(List<EndpointInterceptor> interceptors) {
PayloadValidatingInterceptor validatingInterceptor = new PayloadValidatingInterceptor();
validatingInterceptor.setValidateRequest(true);
validatingInterceptor.setValidateResponse(true);
validatingInterceptor.setXsdSchema(mySchema());
interceptors.add(validatingInterceptor);
}
@Bean
public XsdSchema mySchema(){
return new SimpleXsdSchema(new ClassPathResource("**myWSDL.wsdl#types**"));
}
但是在使用mywsdl.wsdl类型时找不到架构。
有没有一种方法可以访问模式而不必重新构造wsdl来外部化xsd模式?
暂无答案!
目前还没有任何答案,快来回答吧!