Проверка ответного вызова с помощью JAX WS в Java - PullRequest
0 голосов
/ 10 октября 2018

У меня вопрос по поводу jax ws с Java .На самом деле у меня есть клиент, который вызывает метод web service:

Реализация клиента :

      URL url = new URL("file:/D:/Projects/Mywsdl.wsdl");
      QName qname = new QName("http://adresse/", "ImpWSService");
      Service service = Service.create(url, qname);
          //web service Interface
      DomaineIntWS domaineIntWS = service.getPort(DomaineIntWS.class);
          //web service methode call   
      String echo = scciProxyIntWS.echocall("xxx");

Интерфейс WS :

         import javax.jws.WebParam;
         import javax.jws.WebService;

         @WebService
         public abstract interface DomaineIntWS
         {
         public abstract String echocall(@WebParam(name="testEcho") String paramString);
         }

Мой вопрос заключается в том, как я могу добавить в мою клиентскую реализацию способ, который может проверять результат вызова ws, например, для тестирования, если ответ кода равен 200 OK?

Как я могу сделать это с помощью jaxws?

Спасибо, ребята.

1 Ответ

0 голосов
/ 10 октября 2018

Вам необходимо привести ваш порт к BindingProvider, например:

    URL url = new URL("file:/D:/Projects/Mywsdl.wsdl");
    QName qname = new QName("http://adresse/", "ImpWSService");
    Service service = Service.create(url, qname);
    //web service Interface
    DomaineIntWS domaineIntWS = service.getPort(DomaineIntWS.class);
    try {
    String echo = domaineIntWS.echocall("xxx");
    } catch (Exception e) {
      //do something with a possible exception
    } finally {

    BindingProvider bpDomaineIntWS = (BindingProvider) domaineIntWS;
    int httpResponseCode =(Integer) bpDomaineIntWS.getResponseContext().get(MessageContext.HTTP_RESPONSE_CODE);

}

Примечание: учтите, что даже если вы получите значение кода ответа, реализация JAX-WS будетобрабатывать ответ.

В большинстве случаев вам не нужно беспокоиться о том, чтобы самостоятельно обрабатывать коды и прочее.Вот и вся цель JAX-WS.В противном случае вы будете использовать необработанную библиотеку HttpClient.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...