Ich habe einen Web-Service-Client geschrieben mit Apache CXF, der den simple frontend-Stil verwendet. Es kann eine Methode auf einem Remote-Web-Service aufgrund seines Standorts und der vom Dienst implementierten Schnittstelle dynamisch aufrufen.Migrieren eines CXF-Clients, der "einfaches Frontend" verwendet, an JAX-WS
Ich möchte diesen Code zu einer reinen JAX-WS-Implementierung migrieren. Mein Code sollte ungefähr so aussehen:
public static void callWsMethod(Class<?> serviceInterface, String address, String methodName,...) {
URL wsdlLocation = new URL(address + "?wsdl");
QName serviceName = new QName(.... , ....); //??? what goes here
Service service = Service.create(wsdlLocation, serviceName);
Object instance = service.getPort(serviceInterface);
... /*invoke method "methodName" on instance */
Ich vermute, dass dies möglich ist, weil die CXF doc oben zitierten sagt:
In einem ‚einfachen‘ Fall sehr nahezu identische Dinge passieren im Simple Front Ende wie in JAX-WS.
Mein erstes Problem ist die QName Konstruktor:
QName(java.lang.String namespaceURI, java.lang.String localPart)
wie funktioniert CXF das Recht namespaceURI
herauszufinden und localPart
die ws aufzurufen?
Haben Sie das überprüft? - http://stackoverflow.com/questions/13583918/how-to-access-web-service-using-an-ordinary-java-class – Sampada