webService一种简单的使用

来源:互联网 发布:软件项目验收单 编辑:程序博客网 时间:2024/05/17 02:49

包太多。这里就不列了。

步骤:编写接口。

package com.baidu.webservice;import java.util.List;import javax.jws.WebMethod;import javax.jws.WebParam;import javax.jws.WebService;@WebService(targetNamespace="http://webservice.baidu.com",name="WebServiceImpl", serviceName="serviceName")public interface IWebService {@WebMethod(operationName = "test",action="http://webservice.baidu.com/test")public String test(@WebParam(targetNamespace="http://webservice.baidu.com", name="name")String name,@WebParam(targetNamespace="http://webservice.baidu.com", name="list")List<String> list);}

编写实现类:
package com.baidu.webservice.impl;import java.util.List;import com.baidu.webservice.IWebService;public class WebServiceImpl implements IWebService{@Overridepublic String test(String name, List<String> list) {System.out.println(name);System.out.println("---------");System.out.println(list.get(0));return "success";}}

编写发布代码和测试代码。为了方便发布代码和测试代码写在了一个main方法中。
package com.baidu.test;import java.util.ArrayList;import java.util.List;import org.apache.cxf.endpoint.Client;import org.apache.cxf.endpoint.Server;import org.apache.cxf.frontend.ClientProxy;import org.apache.cxf.interceptor.LoggingInInterceptor;import org.apache.cxf.interceptor.LoggingOutInterceptor;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;import org.apache.cxf.jaxws.JaxWsServerFactoryBean;import org.apache.cxf.transport.Conduit;import org.apache.cxf.transport.http.HTTPConduit;import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;import org.apache.http.client.params.HttpClientParams;import com.baidu.webservice.IWebService;import com.baidu.webservice.impl.WebServiceImpl;public class TestWebService {public static void main(String[] args) {publicService();//调用IWebService instance = getInstance();List<String> list = new ArrayList<String>();list.add("456");String result = instance.test("123", list);System.out.println(result);}public static void publicService(){JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();factoryBean.getInInterceptors().add(new LoggingInInterceptor());factoryBean.getInInterceptors().add(new LoggingOutInterceptor());factoryBean.setServiceClass(WebServiceImpl.class);factoryBean.setAddress("http://192.168.0.128:18080/model/service/serviceName");factoryBean.create();}public static IWebService getInstance(){IWebService service = null;JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();factoryBean.setAddress("http://192.168.0.128:18080/model/service/serviceName");factoryBean.setServiceClass(IWebService.class);Object obj = factoryBean.create();Client client = ClientProxy.getClient(obj);HTTPConduit http = (HTTPConduit)client.getConduit();HTTPClientPolicy policy = new HTTPClientPolicy();policy.setConnectionTimeout(60000);policy.setReceiveTimeout(60000);http.setClient(policy); service = (IWebService)obj;return service;}}



原创粉丝点击