在我工作的地方,我们制定了一项政策,规定我们应该尝试“自下而上”(代码优先)构建Web服务。
执行此操作时,如何在XSD
WSDL元素中添加限制?例如,在以下内容中:<types
>
<types
我的WSDL中的输出是这样的:
import javax.jws.WebService;
import javax.xml.ws.BindingType;
@WebService
@BindingType(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING)
public class ProofOfConcept {
public String sayHello(String guest){
return "Hello "+guest;
}
}
我想将...
<xs:complexType name="sayHello">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
</xs:sequence>
</xs:complexType>
...
和minLength
限制添加到“guest”字符串中。这是否可以通过代码而不是直接编辑WSDL?
我知道我可以使用自定义类并使用maxLength
或@XmlElement
注释我的字段以获取一些自定义项(名称,必需等),但没有具体的类似于字符串(长度等);是否可以修改/扩展这些注释以添加对长度或模式等内容的支持?
感谢。
答案 0 :(得分:0)
我觉得有趣的是,您的策略是尝试自下而上构建Web服务,因为我建议自上而下构建Web服务以便清晰地定义合同。无论如何......
我不知道使用注释的特定解决方案,我发现你在搜索中也找不到一个。如果要自动化该过程以避免在每次重新生成WSDL时覆盖对模式的更改,则可以将XSL转换添加到生成的WSDL以添加这些属性。虽然不是理想的解决方案,但它应该允许您设置属性并继续工作。