Wie füge ich eine Namespace-Referenz zu einer SOAP-Antwort mit Apache Axis2 und WSDL2Java hinzu

8

Ich betrachte die SOAP-Ausgabe von einem Web-Service, den ich gerade entwickle, und mir ist etwas Seltsames aufgefallen:

%Vor%

Ich habe zwei newKey-Elemente, die null sind, und beide Elemente fügen einen Namespace-Verweis für xsi ein. Ich möchte diesen Namespace in das Soapenv: Envelope-Element einschließen, so dass der Namespace-Verweis nur einmal gesendet wird.

Ich verwende WSDL2Java, um das Service-Skelett zu generieren, so dass ich nicht direkt Zugriff auf die Axis2-API habe.

    
user13224 16.09.2008, 17:42
quelle

2 Antworten

7

Verwenden von WSDL2Java

Wenn Sie das Axis2 WSDL2Java Tool verwendet haben, bleiben Sie bei dem, was es für Sie generiert. Sie können jedoch versuchen, das Skelett in diesem Abschnitt zu ändern:

%Vor%

Um den Namensraum zum Umschlag hinzuzufügen, fügen Sie diese Zeilen irgendwo hinzu:

%Vor%

Hand-codiert

Wenn Sie den Service "handkodieren", können Sie etwas tun:

%Vor%

Verfügbarmachen des Dienstes in aar

Wenn Sie einen Service innerhalb eines Berichts erstellen, können Sie möglicherweise die SOAP-Nachricht beeinflussen, die unter Verwendung der Ziel-Namespace- oder Schema-Namespace-Eigenschaften erzeugt wurde (siehe dieser Artikel ).

Ich hoffe, das hilft.

    
Michael Sharek 16.09.2008 18:00
quelle
1

Andere Option ist, dass die Variable MY_QNAME das Präfix leer hat.

%Vor%

Also, wenn Sie es ausfüllen, dann funktioniert es.

    
dodoconr 22.06.2012 19:17
quelle