Próbowałem już za pomocą wsdl2java z binarki axis2, wygeneruje klienta ale kod jest już niekompatybilny (po prostu przestarzały generator z tego co wyczytałem). Natomiast za pomocą wtyczki z eclipse dostaje kod na 6 klas który i tak nie działa... Napisałem prostego klienta na podstawie POJO (http://axis.apache.org/axis2/java/core/docs/pojoguide.html) powiem więcej nawet dla przetestowania wrzuciłem ten przykład ze strony i także nic :P nie jest w stanie zainicjować, czyli dostaje odpowiedź z servera z result == null. Może ktoś wie chociaż dlaczego ten przykład nie działa :P?
Co do kodu klienta z przykładu a także mojego nie otrzymuje żadnych błędów kompilacji itp. Kod klienta:
package rsi.async.client.localhost;
import javax.xml.namespace.QName;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
import rsi.async.localhost.*;
public class Klient {
public static void main(String[] foos) throws Exception {
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
EndpointReference targetEPR = new EndpointReference("http://localhost:8080/axis2/services/BMPtoRGBservice");
options.setTo(targetEPR);
// Setting the setKon ;)
QName opSetBMPtoRGB = new QName("http://localhost:8080/axis2/services/BMPtoRGBservice","setBMPtoRGB");
BMPtoRGB pic = new BMPtoRGB("D:/test.bmp","D:/testweb.arff");
pic.setKon();
Object[] opSetBMptoRGBargs = new Object[] { pic };
serviceClient.invokeRobust(opSetBMPtoRGB, opSetBMptoRGBargs);
// Getting the int[]
QName opGetBMPtoRGB = new QName("http://localhost:8080/axis2/services/BMPtoRGBservice","getBMPtoRGB");
Object[] opGetBMPtoRGBargs = new Object[] { };
Class[] returnTypes = new Class[] { BMPtoRGB.class };
Object[] response = serviceClient.invokeBlocking(opGetBMPtoRGB,opGetBMPtoRGBargs, returnTypes);
BMPtoRGB result = (BMPtoRGB) response[0];
if (result == null) {
System.out.println("result is null");
return;
}
}
}