2

JAX-RPC wscompile ANT タスクを使用して WSDL から Java クラスを生成するときに問題があります。

私のantスクリプト:

<taskdef name="wscompile" classname="com.sun.xml.rpc.tools.ant.Wscompile" classpathref="jaxrpc.classpath"/>
<taskdef name="wsdeploy" classname="com.sun.xml.rpc.tools.ant.Wsdeploy" classpathref="jaxrpc.classpath"/>
<wscompile
        fork="true"
        base="${target.jaxrpc.dir}"
        server="true"
        client="false"
        features="documentliteral"
        model="${target.jaxrpc.dir}/model.xml.gz"
        debug="true"
        keep="true"
        verbose="true"
        config="${src.main.config.dir}/jaxrpc-service-config.xml">
    <classpath refid="jaxrpc.classpath"/>
</wscompile>

私の wsdl には Date タイプのオブジェクトがあります。問題は、JAX-RPC が Calendar オブジェクトを生成することです。何らかのフラグを設定する方法や、JAX-RPC に強制的に Date オブジェクトを生成させる方法はありますか?

4

1 に答える 1

1

これは、Enterprise Web Services 1.1 仕様が Java クラスと XML 型の間のデフォルト マッピングを定義しているためです。ただし、アプリケーションのデフォルト マッピングは変更できます。要素 JAX-RPC マッピング ファイルの内容を編集することで、マッピングを変更できます。あなたの場合、次の変更を行う必要があります。

    <java-wsdl-mapping>
      ...
       <java-xml-type-mapping>
       <java-type>java.util.Date</java-type>
      <root-type-qname xmlns:qn="http://www.w3c.org/2001/XMLSchema">qn:dateTime</root-type-qname>
     </java-xml-type-mapping>
      ...
    <java-wsdl-mapping>
于 2012-01-17T08:34:07.377 に答える