WSDL auslesen?

Bitte aktiviere JavaScript!
Code:
wsimport http://ec.europa.eu/taxation_customs/vies/checkVatTestService.wsdl
WSDL wird geparst ...


[WARNING] unknown extensibility element or attribute "documentation" (in namespace "http://www.w3.org/2001/XMLSchema")
  Zeile 3 von http://ec.europa.eu/taxation_customs/vies/checkVatTestService.wsdl


Code wird generiert ...


Code wird kompiliert ...
Danach findest Du die passenden Java-Klassen im aktuellen Verzeichnisbaum:
Code:
./eu
./eu/europa
./eu/europa/ec
./eu/europa/ec/taxud
./eu/europa/ec/taxud/vies
./eu/europa/ec/taxud/vies/services
./eu/europa/ec/taxud/vies/services/checkvat
./eu/europa/ec/taxud/vies/services/checkvat/CheckVatPortType.class
./eu/europa/ec/taxud/vies/services/checkvat/types
./eu/europa/ec/taxud/vies/services/checkvat/types/CheckVatApproxResponse.class
./eu/europa/ec/taxud/vies/services/checkvat/types/CheckVat.class
./eu/europa/ec/taxud/vies/services/checkvat/types/CheckVatResponse.class
./eu/europa/ec/taxud/vies/services/checkvat/types/ObjectFactory.class
./eu/europa/ec/taxud/vies/services/checkvat/types/package-info.class
./eu/europa/ec/taxud/vies/services/checkvat/types/CheckVatApprox.class
./eu/europa/ec/taxud/vies/services/checkvat/CheckVatTestService.class
Dann:
Java:
import eu.europa.ec.taxud.vies.services.checkvat.*;
import javax.xml.ws.Holder;
import javax.xml.datatype.XMLGregorianCalendar;


public class Main {
    public static void main(String[] args) {
        CheckVatTestService service = new CheckVatTestService();
        CheckVatPortType port = service.getCheckVatPort();

        Holder<String> countryCode = new Holder<>("DE");
        Holder<String> vatNumber = new Holder<>("100");
        Holder<XMLGregorianCalendar> requestDate = new Holder<>();
        Holder<Boolean> valid = new Holder<>();
        Holder<String> name = new Holder<>();
        Holder<String> address = new Holder<>();

        port.checkVat(countryCode, vatNumber, requestDate, valid, name, address);
        System.out.println(countryCode.value);
        System.out.println(vatNumber.value);
        System.out.println(requestDate.value);
        System.out.println(valid.value);
        System.out.println(name.value);
        System.out.println(address.value);
    }
}
Ausgabe:
Code:
DE
100
2019-08-05+02:00
true
John Doe
123 Main St, Anytown, UK
 
habe das jetzt mal direkt in Eclipse probiert.
Bei mir ist der Code aber nicht lauffähig:
"Cannot instantiate the type CheckVatTestService"

Das Interface sieht so aus:
Java:
public interface CheckVatTestService extends javax.xml.rpc.Service {

    public java.lang.String getcheckVatPortAddress();


    public checkVat.services.vies.taxud.eu.europa.ec.CheckVatPortType getcheckVatPort()

            throws javax.xml.rpc.ServiceException;


    public checkVat.services.vies.taxud.eu.europa.ec.CheckVatPortType getcheckVatPort(java.net.URL portAddress)

            throws javax.xml.rpc.ServiceException;
}

Eine Idee?
 
@beta20 Lies mal, worum es auf der Seite geht: "Have you ever tried creating Simple Java Web Service Definition Language in Eclipse? Well, here are few simple steps to create WSDL in Eclipse environment and Generate/Test Client."

Du willst keine WSDL in Eclipse erstellen und dafür einen Client erzeugen, Du willst einen Client für ein bereits existierendes, auf einem anderen System verfügbares WSDL erstellen.

Natürlich würde das auch mit Axis2 funktionieren (der Befehl dort heißt, wenn ich mich recht entsinne, wsgen statt wsimport), die Frage wäre aber, wozu?

Wie das aus Eclipse heraus läuft: keine Ahnung.

EDIT: Ich hänge Dir mal die erzeugten Dateien ran.
 

Anhänge

Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben