1
Guys, I’m having doubts in the following scenario:
I have this class, it is a webservice (contains the @Webservice method):
@WebService(name = "l", targetNamespace = "o")
public abstract interface Service {
@WebMethod(operationName = "Cancelar")
@RequestWrapper(localName = "Cancelar", targetNamespace = "http://www.x.com.br/y/w", className = "br.com.x.y.w.CancelarRequest")
@ResponseWrapper(localName = "CancelarResponse", targetNamespace = "http://www.x.com.br/y/w", className = "br.com.x.y.w.CancelarResponse")
public abstract void Cancelar(
@WebParam(name = "k", targetNamespace = "http://www.x.com.br/y/w", mode = WebParam.Mode.INOUT) Holder<String> paramHolder,
@WebParam(name = "Result", targetNamespace = "http://www.x.com.br/y/w", mode = WebParam.Mode.OUT) Holder<ResultType> paramHolder1);
}
My question is: if this class is a webservice why define it as "Abstract interface", alias, - what happens when I define a class using "Abstract interface". To this day I’ve only created classes that use one or the other.
Note that this class is the remote interface, it defines the remote services (@Method), but does not implement them, the entire implementation seems to be in the Serviceimpl class:
public class ServiceImpl implements Service
@Override
public void Cancelar(
Holder<String> k,
Holder<ResultType> result) {
CancelarP p = new CancelarP(ctx, k.value);
CancelarResponseType execute = p.execute();
ResultType resultType = execute.getResult();
result.value = resultType;
}
In the Serviceimpl class, if when I give a @Override I lose the parent class implementation, how do I make the xml Marshall received via Soap?. I’m failing to understand how these classes are working together.
I hope I have been able to be clear in the preparation of the question, since I thank you.