любой способ использовать клиентские веб-сервисы axis2 без генерации заглушки? - PullRequest
2 голосов
/ 13 января 2010

Существуют ли какие-либо подходы для использования файла интерфейса Java для вызова веб-службы оси без создания класса заглушки? Мы контролируем обе стороны (клиент и сервер).

1 Ответ

1 голос
/ 13 января 2010

Да, вы можете использовать клиент adhoc, используя org.apache.axis2.client.ServiceClient . Это выглядит примерно так.

import org.apache.axis2.client.ServiceClient;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import java.net.URL;


...
String endpoint = "http://wsendpoint.com/ServiceName"
 QName operation = new QName("http://namespace","WsRequest");               
             OMElement payload = buildPayload("requestdata");


 try{
                   ServiceClient sender= new ServiceClient(
                            null,
                            new URL(endpoint),
                            null,
                            null);
                   OMElement result = sender.sendReceive(operation,payload);
           logger.debug("response is:" + result.toString());                                   

                    }

             }catch (Exception e)  {
                 logger.debug("exception caught: " + e.getMessage());
             }
...