warum xsd-schema können nicht überprüfen Sie die string-Länge mit restriction maxLength
Ich bin die Entwicklung einer web-service-SOAP, und ich habe mein xsd-schema-und wsdl-Datei, in die ich überprüfen möchten das element comment
(dessen Typ string) durch die Festlegung seiner Länge. Aber wenn ich die Anforderung überprüfen mit SoapUI, Es scheint mir das xsd-schema nicht bestätigen der string max length.
Dieser unten ist die syntax meiner xsd-schema :
<xsd:element name="comment" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="20"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
Jemand weiß, warum? Vielen Dank im Voraus.
- Hinzufügen Sie können mehr Informationen? .. Verwenden Sie einen Rahmen zu veröffentlichen ws? .. etc .. weitere Details hinzufügen, um zu helfen, Sie besser.
- Ich bin mit cxf-framework zum veröffentlichen meiner ws. Ich habe die schema-überprüfung aktiviert in meinem cxf-servlet.xml.
Du musst angemeldet sein, um einen Kommentar abzugeben.
SOAPUI überprüft die SOAP-Anfrage gegen seinen
xsd
richtig aber Sie haben, um einen auf den Zweck der Validierung der Auswahl der validate-option Rechtsklick auf einen SOAP-Request-Fenster (wie der zeigte im letzten Bild), wenn Sie senden Sie die Anfrage direkt und ohne zu prüfen, SOAPUI sendet lediglich die Anfrage, auch wenn es eine schlechte gebildetxml
da SOAPUI ist ein Test-tool ein, das Sie vielleicht wollen, senden Sie eine ungültige Anforderung an den Zweck zu testen, Ihre WS.Mache ich eine Probe mit
maxLength
<restriction>
im<xs:string>
ein, bekomme ich die Folgen Ergebnis (ich bin mitSOAPUI 4.5.2
):Dazu verwende ich die Folgen
wsdl
:Wie Sie sehen können, in der
wsdl
die CommentRequest als follow-schema mitmaxLength
<restriction>
:Dann Erzeuge ich ein neues SOAPUI Projekt von der
wsdl
und fügen Sie einen SOAP-Request, wenn ich einen string mit mehr als 20 Zeichen in<comment/>
und drücken Sie die rechts-klicken Sie auf SOAP-Request-Fenster, und wählen Sie bestätigen Sie die Fehlermeldung zeigte im ersten Bild:Hoffe, das hilft,
localhost:8080/test/services/webservice?wsdl
als initial wsdl. Dann habe ich die Anforderung überprüfen mit soapui validate-option (Rechte Maustaste -> bestätigen), aber es funktioniert nicht. Aber wenn ich durchsuchen Sie die wsdl-Datei für die erste wsdl, wenn ich die Anforderung überprüfen es hat funktioniert. Irgendwelche Ideen? Danke.wsdl
- Datei und diewsdl
imlocalhost:8080/test/services/webservice?wsdl
unterscheidet. Können Sie den Anteil derwsdl
um zu überprüfen?:)
. So endlich gibt es einige Unterschiede zwischen Ihrwsdl
s?