2011-08-02 4 views
1

私はこの方法(部分)私のXSD定義:XS:制限は春WSでは動作しません

  <xs:element name="entityNo" minOccurs="1" maxOccurs="1"> 
       <xs:simpleType> 
        <xs:restriction base="xs:string"> 
         <xs:minLength value="1"/> 
         <xs:maxLength value="20"/> 
        </xs:restriction> 
       </xs:simpleType> 
      </xs:element> 

しかし、ときに私は、文字列長くそれがあったかのように20私のエンドポイントはまだそれを受け取るよりもSOAPUIを送ります有効な入力。 これをどのように修正できますか?

+1

、実行時に検証を実行するために、スキーマを使用していますか?もしそうなら、私たちに方法を教えてください。 – skaffman

+0

いいえ、私が知る限り。制限に従わないメッセージを拒否するにはどうすればよいですか? – Benchik

答えて

1

OKは、制限が働き、私はちょうど春-WSの設定ファイルにPayloadValidatingInterceptorインターセプタを追加する必要がありました:

<sws:interceptors> 
<bean class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor"> 
    <property name="schemas"> 
     <list> 
      <value>/WEB-INF/schemasDef/first.xsd</value> 
      <value>/WEB-INF/schemasDef/second.xsd</value> 
     </list> 
    </property> 
    <property name="validateRequest" value="true"/> 
    <property name="validateResponse" value="true"/> 
</bean> 
</sws:interceptors> 
関連する問題