1.webservice服务端代码,发布一个webservice应用。
2.webservice客户端调用代码
注意:红色的代码段中invoke调用的方法optimzationRequest()就是在下面3中描述的类中的方法optimzationRequest(),它是webservice接口的接入方法,也可以取其他的名字,但是客户端和服务端要保持一致。
3.服务端应用类代码
import javax.xml.ws.Endpoint;
public class WebServiceManagerService {
public static void main(String[] args) {
System.out.println("web service start");
OptimizationImpl optimizationImpl = new OptimizationImpl();
[color=red]String address = "http://127.0.0.1:8080/optimization"[/color];
Endpoint.publish(address, optimizationImpl);
System.out.println("web service started");
}
}
2.webservice客户端调用代码
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.endpoint.dynamic.DynamicClientFactory;
public static void main(String[] args) {
DynamicClientFactory factory = DynamicClientFactory.newInstance();
[color=red]String url = "http://127.0.0.1:8080/optimization";[/color] Client client = factory.createClient(url);
Object[] result = null;
try {
//传递给webservice服务端的数据
JSONObject json = new JSONObject();
[color=red]result = client.invoke("optimzationRequest", new Object[] { json.toString() });[/color] }
catch (Exception e) {
e.printStackTrace();
}
}
注意:红色的代码段中invoke调用的方法optimzationRequest()就是在下面3中描述的类中的方法optimzationRequest(),它是webservice接口的接入方法,也可以取其他的名字,但是客户端和服务端要保持一致。
3.服务端应用类代码
import javax.jws.WebService;
import net.sf.json.JSONObject;
import com.wondersgroup.adage.optimization.OptimizationServiceImpl;
@WebService(endpointInterface = "com.wondersgroup.adage.webservice.OptimizationI", serviceName = "OptimizationImpl")
public class OptimizationImpl implements OptimizationI {
private static OptimizationServiceImpl i;
public OptimizationImpl() {
if (null == i) {
i = new OptimizationServiceImpl();
}
}
public String [color=red]optimzationRequest[/color](String jsonStr) {
i.setProcessorMap();
JSONObject jsonData = i.optimize(jsonStr);
return jsonData.toString();
}
}