için "basit önyüz" kullanan bir CXF istemcisini taşıma simple frontend stilini kullanan Apache CXF ile yazılmış bir web hizmeti istemcim var. Konumu ve hizmeti tarafından uygulanan arabirim göz önüne alındığında, uzak bir web hizmetinde bir yöntemi dinamik olarak çağırabilir.JAX-WS
public static void callWsMethod(Class<?> serviceInterface, String address, String methodName,...) {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(serviceInterface);
factory.setAddress(address);
Object instance = factory.create();
... /*invoke method "methodName" on instance */
Bu kodu salt JAX-WS uygulamasına geçirmek istiyorum.
bir 'basit' durumunda, neredeyse özdeş şeyler Basit önünde gerçekleşir: Ben yukarıda anılan CXF doktor diyor çünkü bu mümkün olduğunu sanıyorum
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 */
: Kodum gibi görünmelidir JAX-WS'de olduğu gibi sona.
QName(java.lang.String namespaceURI, java.lang.String localPart)
nasıl CXF ws çağırmak için doğru
namespaceURI
velocalPart
anlamaya kapsamaz:
Benim ilk sorun QName yapıcısı nedir?
Bunu kontrol ettiniz mi? - http://stackoverflow.com/questions/13583918/how-to-access-web-service-using-an-ordinary-java-class – Sampada