3

TOP-DOWN と Axis 1.4 を使用して Web サービスをデプロイしようとしています。Eclipse のウィザードの [Web サービス > Java スケルトンの生成] を使用して、スキーマを含む WSDL を使用しています。特定の complexType には、その要素に制限があります (入力用です)。

      <xsd:complexType name="InformacionClienteRequestModel">
    <xsd:sequence>
      <xsd:element name="numRut">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:pattern value="\d{9}\-[k|K|0-9]"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>          
      <xsd:element name="codSituacion">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:pattern value="([ABST][AP][AP])?|([ABST][AP][AP])(,([ABST][AP][AP]))*"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="filtroCodSituacion">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:pattern value="[IE]?"/>
          </xsd:restriction>            
        </xsd:simpleType>
      </xsd:element>            
      <xsd:element name="pagina">
        <xsd:simpleType>
          <xsd:restriction base="xsd:int">
            <xsd:minInclusive value="1"/>               
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="registrosPorPagina">
        <xsd:simpleType>
          <xsd:restriction base="xsd:int">
            <xsd:minInclusive value="1"/>
            <xsd:maxInclusive value="50"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>          
    </xsd:sequence>
  </xsd:complexType>

サーバーにデプロイされると (Websphere と Tomcat の両方を試しました)、この complexType は次のように終了します。

<complexType name="InformacionClienteRequestModel">
<sequence>
<element name="numRut" type="xsd:string"/>
<element name="codSituacion" type="xsd:string"/>
<element name="filtroCodSituacion" type="xsd:string"/>
<element name="pagina" type="xsd:int"/>
<element name="registrosPorPagina" type="xsd:int"/>
</sequence>
</complexType>

明らかにSOAP経由で入力データを検証しません。どこでもグーグルで検索しましたが、何も得られませんでした。

何か案は?

4

0 に答える 0