Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

231
Views
¿Cómo puedo convertir un método a asíncrono de mi servicio web?

Actualmente tengo un método de servicio de jabón web que funciona bien, pero me gustaría saber cómo puedo convertirlo para que devuelva una confirmación de que se recibió el mensaje y que el cliente no espere hasta que termine el proceso.

 @Service @WebService(serviceName = "getStudents",wsdlLocation="/wsdl/Students.wsdl") public class StudentsImpl implements Students { public StudentResponse getStudents(StudentRequest request) { ********************** } } public class StudentResponse { private String status; private Date timeStamp; .................... }

Me gustaría saber cómo puedo responder con un estado "OK" y también la hora.

 @WebService public abstract interface Students { @WebResult(name="response") @XmlElement(required=true, name="request") public abstract StudentResponse getStudents(@WebParam(name="request") StudentRequest request); }
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Hm, curiosamente, esto parece ser lo contrario de la última pregunta que respondí, Cómo convertir una llamada asíncrona en bloqueo .

Entonces los pasos son:

  • Ejecute la llamada de bloqueo en un nuevo hilo.
  • Introducir una interfaz de oyente
  • Invoque al oyente del hilo cuando se complete la llamada de bloqueo
  • Introduce un nuevo contenedor asíncrono que se puede invocar desde la persona que llama.

Suponiendo que su llamada de bloqueo es fooBlocking() , haga lo siguiente:

 public class MyKoolClass { // .. kool functionalities here ... public interface Listener { void onTaskCompleted(String message); } public void fooAsyncWrapper() { new FooTask(new Listener() { @Override public void onTaskCompleted(final String message) { System.out.println("So complete, bruh" + message); } }).start(); } public static class FooTask extends Thread { Listener listener; public FooTask(final Listener listener) { this.listener = listener; } @Override public void run() { fooBlocking(); listener.onTaskCompleted("Sup baws."); } }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!