Web services WebLogic不验证minOccurs=";1“;在Web服务中
我的WebService部署在WebLogic 10.3.3上 WSDL/XSD将输入参数Web services WebLogic不验证minOccurs=";1“;在Web服务中,web-services,weblogic,xml-validation,Web Services,Weblogic,Xml Validation,我的WebService部署在WebLogic 10.3.3上 WSDL/XSD将输入参数number描述为必填项: MinOccurs=“1”意味着XML消息必须包含标记,不是吗 我希望WebLogic必须验证所有请求,当请求无效时,应该抛出服务器错误响应 不幸的是,我的SOAP客户端能够发送SOAP请求而不带标记,而我的webservice实现接收到这样一个无效的请求 请告诉我,这是正确的行为还是WebLogic中的缺陷 我的Web服务是否应该执行自己的XML验证?默认情况下,WebLog
number
描述为必填项:
MinOccurs=“1”
意味着XML消息必须包含
标记,不是吗
我希望WebLogic必须验证所有请求,当请求无效时,应该抛出服务器错误响应
不幸的是,我的SOAP客户端能够发送SOAP请求而不带
标记,而我的webservice实现接收到这样一个无效的请求
请告诉我,这是正确的行为还是WebLogic中的缺陷
我的Web服务是否应该执行自己的XML验证?默认情况下,WebLogic没有启用XSD架构验证。您可以通过向webservice@SchemaValidation添加注释来启用它(确保它是com.sun.xml.ws.developer版本,而不是com.sun.xml.ws.internal.developer)。但是,如果您有一个复杂的XSD模式(例如,GS-1 XSD模式有问题),这种验证就不能很好地工作。我认为这与weblogic使用的xercex xml文件解析器有关,因为它不能总是找到所有的元素,但是到目前为止我还无法找到它的底细。它适用于简单的模式 如果需要验证复杂模式,最好编写自己的验证器并将其添加到WS-Message处理程序中。这是一项相当大的工作,但您可以完全控制它,到目前为止,我还没有找到其他解决方案。请查看我的答案,了解类似情况 如前所述,您可以使用提供的
@SchemaValidation
注释告诉WebLogic为您验证消息