cxf: wsdl2java создал класс, расширяющий сервис (javax.xml.ws.Service) - PullRequest
0 голосов
/ 05 июля 2011

Я новичок в Java Java и WSDL. Я использовал wsdl2java для создания классов Java для своего клиента веб-службы, и был класс, созданный с <Service Name>Service extends javax.xml.ws.Service

Пожалуйста, дайте мне знать, какая польза от класса

1 Ответ

0 голосов
/ 31 октября 2011

Я думаю об этом как о «локаторе» или «фабрике», которую можно использовать для создания клиентских (прокси) экземпляров службы. Например (где ' Пример ' - это Имя службы ):

ExampleService locator = new ExampleService();
locator.addPort( ExampleService.Example, SOAPBinding.SOAP11HTTP_BINDING
    , "http://myserver:8080/myapp/services/example" );
// now get the instance
Example example = locator.getExample();

Хотя с CXF вы можете использовать такие утилиты, как JaxWsProxyFactoryBean и игнорировать класс <Service Name>Service. Например:

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(Example.class);
factory.setAddress("http://myserver:8080/myapp/services/example");
factory.setUsername("user");
factory.setPassword("password");
Example example = (Example) factory.create();
...