<dependency> <groupId>org.codehaus.xfire</groupId> <artifactId>xfire-all</artifactId> <version>1.2.6</version> </dependency> public interface CalculatorService { @WebMethod int add(@WebParam(name = "num1") int num1, @WebParam(name = "num2") int num2); } public class CalculatorServiceImpl implements CalculatorService { public int add(int num1, int num2) { return num1 + num2; } } public class CalculatorServicePublisher { public static void main(String[] args) { CalculatorService calculatorService = new CalculatorServiceImpl(); XFire xfire = new XFireFactory().getXFire(); Service serviceModel = new AbstractServiceFactory().create(CalculatorService.class); serviceModel.addOperation(new AbstractOperation(serviceModel, "add") { @Override public Object invoke(Message message) { Object[] parameters = message.getBody(); int num1 = (Integer) parameters[0]; int num2 = (Integer) parameters[1]; int result = calculatorService.add(num1, num2); return new Object[]{result}; } }); Endpoint endpoint = new SimpleEndpoint(new URL("http://localhost:8080/CalculatorService"), serviceModel); xfire.getTransportManager().register(endpoint); xfire.start(); } }


上一篇:
下一篇:
切换中文