由于多人同时使用的服务器当掉了,服务器启动Tomcat服务的时候发现老是报错,大致内容是java.net.ConnectException: Connection refused,很是郁闷,因为根本还没有启动Tomcat服务。所以开始shutdown服务。结果还是报出。通过nmap命令查看发现8080端口已经被http-proxy占用,但是不知这个是什么服务占用了,于是采用了ps -aux查看所有的运行服务日志,里面有个oracle服务和还有apache和oracle的监听,通过分析排查发现apache不会占用8080,oracle服务本身也不会使用这个端口,考试大提示只有web服务才有可能,于是我们尝试关闭oracle的监听之后发现nmap中的8080端口也就空闲了。然后启动Tomcat服务非常顺利。
场景:通过网络接口给手机发送信息
方式:axis的方式进行webservice访问
问题:1.在本地独立的tomcat下跑,一点问题没有
2.同样打包的项目放到正式机上,只要一发送信息就出现java.net.ConnectException: Connection refused: connect,造成信息无法发出
3.部分代码如下:
private String login() {
String result = "";
System.out.println(" 始 用WebService, 始 取登入信息!");
log.info(" 始 用WebService, 始 取登入信息!");
try {
// WebService所在的URL
String endpoint = "http://tw.every8d.com/API20/Security.asmx";
log.info("endpoint== "+endpoint);
// 建Service 象,Service用於 建Call 象
Service service = new Service();
// 建Call 象,Call 象用於 用服
Call call = (Call) service.createCall();
// Call 象 置WebService的url
call.setTargetEndpointAddress(new java.net.URL(endpoint));
// Call 象 置 用的方法名
call.setOperationName(new QName("http://tempuri.org/", "Login"));
// 方法需要的
call.addParameter(new javax.xml.namespace.QName(
"http://tempuri.org/", "custID"),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter(new javax.xml.namespace.QName(
"http://tempuri.org/", "userID"),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter(new javax.xml.namespace.QName(
"http://tempuri.org/", "password"),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter(new javax.xml.namespace.QName(
"http://tempuri.org/", "APIType"),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter(new javax.xml.namespace.QName(
"http://tempuri.org/", "version"),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
// 方法返回的值 型
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://tempuri.org/Login");
String custID = accountsUtil.getCustID();
log.info("custID=="+custID);
String userID = accountsUtil.getUserID();
log.info("userID=="+userID);
String password = accountsUtil.getPassword();
log.info("password=="+password);
String APIType = "";
String version = "";
// 用WebService的放到,并 得返回值
result = (String) call.invoke(new Object[] { custID, userID,
password, APIType, version });//进行登录验证的时候就出错
System.out.println(result);
log.info("before result"+result);
} catch (Exception e) {
log.info(e);
System.out.println(e);
System.out.println(" 登入失 , 常!");
}
System.out.println(" 用Web Service正常 束, 取登入信息 束!");
log.info("end result"+result);
return result;
}
编辑特别推荐: