webservice代码
@WebService
public class JYBWebService extends SpringBeanAutowiringSupport{
public final static String N_STATUS_SUCCESS = "0000";//成功
public final static String N_STATUS_ERROR = "2500";//失败
//说明:金医宝WebService 入口
/**创建人:游林夕 -- 2019/2/28 13:37 --*/
@WebMethod
public String jybapp_ws(String msg){
LXLog.before(msg);
PageData pd = new PageData();
pd.put("N_STATUS",N_STATUS_ERROR);
msg = msg.trim();
try{
String N_OUTPUT = ClassFactory.instance("jYBService", JYBService.class).getResult(msg);
pd.put("N_STATUS",N_STATUS_SUCCESS);
pd.put("N_OUTPUT",N_OUTPUT);
}catch (Exception e){
e.printStackTrace();
}
LXLog.after();
return Template(pd);
}
调用spring容器里的对象
@Component
public class ClassFactory {
/**
* 获取指定类型的子类对象
* PayClassName spring的注解对象类名
* @author
* 创建时间:2018年3月1日 下午12:29:12
*/
public static <T> T instance(String PayClassName, Class<T> valueType) throws Exception{
Object serviceObjec = SpringContextUtil.getBean(PayClassName);
return (T) serviceObjec;
}
}
通过filter启动
public class startFilter extends BaseController implements Filter{
/**
* 初始化
*/
public void init(FilterConfig fc) throws ServletException {
try {
Endpoint.publish(LXIOUtil.getProperties("http://127.0.0.1:12345/webservice", new JYBWebService());
} catch (Exception e) {
throw new ServletException("启动webService失败!");
}
System.out.println("使用WebServicePublishServlet发布成功WebServicePublishServlet");
}
启动服务后使用
wsimport -keep http://127.0.0.1:12345/webservice?wsdl 来下载客户端代码
发布到外网:
1.将地址改为 http://0.0.0.0:12345/webservice
2.进入防火墙,修改出站规则,添加你的端口开启规则即可