Top-down-Web-Service-Generierung mit AXIS1 nimmt meinen complexType auseinander

8

Dies ist meine gesamte WSDL:

%Vor%

Wenn ich einen Stub erzeuge (mit Eclipse Oxygen, top-down, Axis1), wird die Funktion wie folgt generiert:

%Vor%

Warum wird die TokenRequest-Klasse beibehalten, während BatchCommand und HttpHeaders demontiert werden?

Ich habe versucht, weitere Unterelemente unter HttpHeaders und BatchCommand hinzuzufügen, aber sie werden nur als zusätzliche Parameter aufgeteilt. Ich kann keinen Unterschied zwischen ihren Deklarationen und getTokens finden.

    
KC Wong 24.11.2017, 03:15
quelle

1 Antwort

4

Wenn Sie über die Methode getToken2() sprechen, dann werden sie eigentlich nicht demontiert, wenn Sie sehen, dass httpheaders tatsächlich ein Array von httpheader ist, also in Java-Code in ein Array von httpheaders als Parameter in% co_de konvertiert wird % und dasselbe gilt für getToken2 .

Und

Wenn Sie darüber sprechen, warum sie von der getToken () Methode demontiert werden, dann ist die Lösung wie folgt:

Dies liegt daran, dass Sie in der wsdl-Datei nicht die Parameter für die getToken () -Methode

definiert haben

Zum Beispiel hast du das

%Vor%

Sie sollten es wie folgt aktualisieren

%Vor%

Das ist Ihre Operation getToken sollte die erforderlichen Parameter im Attribut ParameterOrder definieren.

Und ändern Sie auch die Nachricht von

%Vor%

bis

%Vor%

Danach erzeugt es den Code korrekt.

Sie können sich diese Antwort genauer ansehen. Sie erklärt, wie das Attribut maxOccurs verwendet wird. Wenn es nicht angegeben ist, wird ein Element nur einmal vorkommen. Aus diesem Grund wurde getToken nicht wie die anderen Parameter in ein Array geändert, sondern durch das eine Vorkommen von TokenRequest ersetzt, das tatsächlich in getToken complexType enthalten ist. Das ist ein einzelnes Vorkommen von TokenRequest

    
muasif80 27.11.2017, 09:04
quelle

Tags und Links