私はSOAPベースのWebサービス(JAX-WS)を開発しており、日付は特定の形式「yyyymmdd」で提供されます。私のWSDLは日付を文字列として定義していますが、期待される形式の後に要素値が続かない場合に、SOAP障害応答を返したいと思います。for要素を定義しXMLAdapter
、unmarshallメソッドで次のことを試しました。
public XMLGregorianCalendar unmarshal(String value) throws Exception {
if (!checkCorrectFormat(value)){
throw new RuntimeException();
}
return ParseHelper.getInstance().parseStrDateToXMLDate(value);
}
ただし、例外は失われ、WebServiceはXMLGregorianCalendar
、マーシャリングされていない要素のnull値を問題なく取得し続けます。おそらく、これはこのフォーマット制御を実装するのに適切な場所ではありません...どんな助けもいただければ幸いです。