Frage

Wir arbeiten mit einem anderen Unternehmen zusammen. unsere Anwendung kommuniziert mit der anderen Anwendung durch WCF auf unserer Seite und einen benutzerdefinierten Java Wsdl Handler auf der anderen Seite implementiert. Sie geben das WSDL-Format und eine der Regeln ist, dass eine bestimmte Zeichenfolge nicht mehr als 15 Zeichen enthalten. (In der Regel ist es 60, aber ich nehme 15 zum einfachen Beispiel Gründen)

Wenn wir versuchen, die folgende Zeichenfolge an sie senden wir einen Fehler, dass die Zeichenfolge zu lang ist entsprechend der WSDL-Datei:

"example & test"> dies ist eine Folge von 14 Zeichen, so sollte es erlaubt sein

Der Microsoft wcf Parser übersetzt dies zu "example & test". Diese codierte Zeichenfolge ist 18 Zeichen lang sein.

Was ist nun das Verhalten standaard eine maxlength in einer Nachricht definiert zu überprüfen? Ist es die codierte Nachricht oder das entschlüsselte Nachricht? Ich würde denken, es ist das entschlüsselte Nachricht, aber ich bin nicht sicher. Wenn es die codierte Nachricht ist, wie sollen wir damit umgehen, so würden wir wissen, wie wir die Zeichenfolge aufgeteilt haben?

War es hilfreich?

Lösung

http://www.w3.org/TR/xmlschema- 2 / # rf-maxLength 4.3.3 maxLength

Bei String und Datentypen abgeleitet von String wird maxLength in Einheiten von Zeichen gemessen, wie in [XML 1.0 (Second Edition)]

definiert

Charsets [Definition: Ein analysiertes Entity enthält Text, eine Folge von Zeichen, die Daten-Markup oder Zeichen darstellen.]

Lese, dass ich das Standardverhalten wird das entschlüsselte denken würde als ein markiertes Zeichen soll als ein einzelnes Zeichen behandelt werden.

Also in der Regel Sie jede Spalten / Abschneiden tun, bevor Sie es codieren. Ansonsten laufen Sie in Probleme, wenn Sie durch die Mitte eines codierten Zeichen abgeschnitten. Ich habe dahinter dies gegen einen WCF-Webdienst mit BizTalk getestet und es ist in Ordnung mit einem String XML kodiert wird, die länger ist als die maxLength ist.

Es klingt wie sie es vor der Dekodierungs es aber tun. So können Sie es zuerst codieren müssen können und teilen Sie es dann auf den weißen Raum.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top