2011-07-20 18 views
8

JavaのXMLスキーマ定義に対してXMLファイルを検証するのと同じように、WSDLファイルに対してSOAPエンベロープを含むXMLファイルを検証する方法はありますか?WSDLに対するSOAPメッセージの検証

答えて

0

私は単純な方法を知らない。私たちのプロジェクトでは、WSDLの要素をXSDファイルにコピー&ペーストするだけです。あなたはあなたの代わりにこの仕事をするutilクラスを書くことができます。

+0

私たちが今行っているのは、xmlであるエンベロープのボディをスキーマ定義に対して検証し、その周りにSOAPエンベロープをラップします。しかし、これはもっとハックのようなもので、適切な方法でそれを行うことに興味があります。 – L4zl0w

1

一部のWebサービスコンテナは、この機能を提供します。 JBossの3.0.1+が@SchemaValidationアノテーションでこれを行います:あなたは春-WSを使用している場合

http://community.jboss.org/wiki/JBossWS-NativeUserGuide#SchemaValidation

+0

これは面白いです、ありがとう!私はWeblogic 10.3を使用しています。私はそれが同じような機能を持っているかどうかをチェックします。 – L4zl0w

1

、これは、これらの線に沿ってインターセプタを使用することによって行うことができますして

<sws:interceptors> 
    <sws:payloadRoot namespaceUri="..."> 
     <bean id="validatingInterceptor" 
      class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor"> 
      <property name="schema" value="classpath:/wsdl/schema.xsd" /> 
      <property name="validateRequest" value="true" /> 
      <property name="validateResponse" value="true" /> 
     </bean> 
    </sws:payloadRoot> 
</sws:interceptors> 

再検証イワンKrivyakovによって開発されたツールがあります

http://cxf.apache.org/faq.html#FAQ-HowcanIturnonschemavalidationforjaxwsendpoint%3F