私が働いている場所では、Web サービスを「ボトムアップ」 (コード ファースト) で構築するように努めるべきであるというポリシーが定められています。
これを行う場合、XSD WSDL 要素内に制限を追加するにはどうすればよいですか? たとえば、次のようになります。<types
>
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;
}
}
私のWSDLの出力は次のとおりです。
...
<xs:complexType name="sayHello">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
</xs:sequence>
</xs:complexType>
...
「ゲスト」文字列に制限minLength
と制限の両方を追加したいと思います。maxLength
WSDL を直接編集するのではなく、コードを介してこれを行うことは可能ですか?
カスタムクラスを使用してフィールドに注釈を付け@XmlElement
たり@XmlAttribute
、いくつかのカスタマイズ(名前、必須など)を取得したりできることは承知していますが、文字列(長さなど)のようなものに固有のものは何もありません。これらの注釈を変更/拡張して、長さやパターンなどのサポートを追加することは可能ですか?
ありがとう。