@SchemaValidation 无法从 wsdl 加载架构

@SchemaValidation fails to load schema from wsdl

我正在使用 JavaSE 6 手动部署 Web 服务。 我想使用 @SchemaValidation 来验证 SOAP 流量。 在发布端点期间我收到错误:

原因:org.xml.sax.SAXParseException:s4s-att-invalid-value:元素 'restriction' 中 'base' 的无效属性值。记录的原因:UndeclaredPrefix:无法将 'xsd:string' 解析为 QName:未声明前缀 'xsd'。

为什么不在属性值中解析命名空间前缀?

这是我的 WSDL 部分:

< wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns= "CorporateFinances.CFIntegration" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="CorporateFinances.CFIntegration">

< xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="CorporateFinances.CFIntegration" targetNamespace="CorporateFinances.CFIntegration" elementFormDefault="qualified" attributeFormDefault="unqualified"版本="20180920">

...

...

问题是由类路径中的旧版本 xalan.jar 引起的。我更新 xalan.jar 到新版本后不再出现错误。