Wir arbeiten derzeit mit einem vom Anbieter bereitgestellten WSDL-Schema, das sehr umfangreich ist. Der Bindungsstil ist RPC. Soweit ich weiß, ist Axis 1.x das einzige Java-Tool, das RPC-WSDL-Definitionen unterstützt. Bitte korrigiere mich, wenn ich falsch liege.Wie Sie WSDL2Java auflösen, indem Sie einen statischen Block erstellen, der größer als 64 KB ist?
WSDL2Java erzeugt einen Service-Namen Skeleton.java-Datei, die einen statischen intialisation Block 1.3Mb in Größe hat - wesentlich größer als Java Grenze von 64 KB.
Vorausgesetzt, dass wir die Definition der Schnittstelle nicht ändern können, wie denken Sie, sollten wir fortfahren?
Unsere Optionen, wie ich sehen, wie sie sind:
- Pause bis die erzeugte statische Block
- die WSDL-Pause (nicht sicher, ob das möglich ist, ohne die Schnittstelle zu verändern)
- Flecken der Achse WSDL2Java Code
Irgendwelche anderen Ideen?
Yo, noch einmal meine alte SO-Aktion. Wie auch immer, da wir den Anbieter nicht dazu bringen konnten, seine beschissenen SOAP-Tools zu modifizieren, schrieb ich ein Perl-Skript, um den statischen Initialisierungsblock der generierten Java-Klasse in kleinere Stücke zu zerlegen. Wahnsinnig. –