有些公司使用的是集团内部网络,经常会出现服务器之间网络不通的情况,Linux服务器排查思路
测试对接的目标接口网络
#telnet命令
telnet 域名/IP 端口
如: telnet xxx.xxx.com 443
#ping 命令
ping IP/域名
如: ping www.baidu.com
可以使用接口测试工具PostMan或SoapUI进行测试
确认目标接口是http接口还是webService接口,接收数据的格式是application/json,还是application/xml,或是multipart/form-data
接收形式例子:
@ResponseBody
@RequestMapping(value = "doListOrder", method = {RequestMethod.GET, RequestMethod.POST}, produces = MediaType.APPLICATION_JSON_VALUE)
public Object doListOrder(HttpServletRequest request,
@RequestParam(value = "status", required = false) String status,
@RequestParam(value = "commentStatus", required = false) String commentStatus,
@RequestParam(value = "dealFrom", required = false) String dealTimeFrom,
@RequestParam(value = "dealTo", required = false) String dealTimeTo,
@RequestParam(value = "keywords", required = false) String shopNameOrKeywords,
@RequestParam(value = "page", required = false) int pageId,
@RequestParam(value = "pageSize", required = false) int pageSize,
@RequestParam(value = "orderType", required = false) Long orderType) {
}
@ResponseBody
@RequestMapping(value = "synMeetSignInfor", method = RequestMethod.POST)
public Result synMeetSignInfor(@RequestBody RpMeetingSign rpMeetingSign) {
}
Map param = Maps.newHashMap();
param.put("productCode", productCode);
param.put("strategyCode", strategyCode);
HttpUtils.doRequest(params, "https://noob.test.za.net/groupApi/queryGroupByCode");
JSONObject result = new JSONObject();
result.put("phone", meetingSign.getNewPhone());
result.put("signinName", meetingSign.getNewSigninName());
Date currentTime = meetingSign.getNewCheckinTime();
result.put("checkinTime", currentTime);
result.put("checkinPosition", meetingSign.getNewCheckinPosition());
result.put("actCode", meetingSign.getNewName());
result.put("meetingDistance", meetingSign.getDistance());
result.put("openid",openId);
if(meetingSign.getDistance()>redDistance){
result.put("isIntime", 1);
}else{
result.put("isIntime", 0);
}
String body = "" + result;
// 3.接口请求方法
String resultStr = HttpPostUtil.httpClientDoPost(dtUrl, body);
返回结果:Apache Tomcat/7.0.79 - Error report HTTP Status 400 -
type Status report
message
description The request sent by the client was syntactically incorrect.
Apache Tomcat/7.0.79
[ERROR][2020/05/30 15:56:190 ][com.jerehsoft.ec.web.mvc.GlobalHandlerExceptionResolver.resolveException(GlobalHandlerExceptionResolver.java:29)]
A JSONObject text must begin with '{' at character 1 of Apache Tomcat/7.0.79 - Error report HTTP Status 400 -
type Status report
message
description The request sent by the client was syntactically incorrect.
Apache Tomcat/7.0.79
com.jerehsoft.model.exception.TxException: net.sf.json.JSONException: A JSONObject text must begin with '{' at character 1 of Apache Tomcat/7.0.79 - Error report HTTP Status 400 -
type Status report
message
description The request sent by the client was syntactically incorrect.
Apache Tomcat/7.0.79
at com.jerehsoft.ec.web.mvc.GlobalHandlerExceptionResolver.resolveException(GlobalHandlerExceptionResolver.java:29)
at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:1141)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:979)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:851)
at com.jerehsoft.ec.web.mvc.DispatcherServlet.doService(DispatcherServlet.java:14)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.jerehsoft.ec.web.filter.WeixinAuthFilter.doFilter(WeixinAuthFilter.java:79)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.jerehsoft.web.common.filter.MemberAttachFilter.doFilter(MemberAttachFilter.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.jerehsoft.web.common.filter.XssFilter.doFilter(XssFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.jerehsoft.web.common.filter.EncodingFilter.doFilter(EncodingFilter.java:23)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.jerehsoft.web.common.filter.ContextWrappingFilter.doFilter(ContextWrappingFilter.java:33)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.jerehsoft.web.common.filter.ThreadContextFilter.doFilter(ThreadContextFilter.java:23)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: net.sf.json.JSONException: A JSONObject text must begin with '{' at character 1 of Apache Tomcat/7.0.79 - Error report HTTP Status 400 -
type Status report
message
description The request sent by the client was syntactically incorrect.
Apache Tomcat/7.0.79
at net.sf.json.util.JSONTokener.syntaxError(JSONTokener.java:505)
at net.sf.json.JSONObject._fromJSONTokener(JSONObject.java:1144)
at net.sf.json.JSONObject._fromString(JSONObject.java:1373)
at net.sf.json.JSONObject.fromObject(JSONObject.java:161)
at net.sf.json.JSONObject.fromObject(JSONObject.java:130)
at com.jerehsoft.ec.meetingsign.service.impl.MeetingSignServiceImpl.sendDtMeetingSgin(MeetingSignServiceImpl.java:118)
at com.jerehsoft.ec.meetingsign.service.impl.MeetingSignServiceImpl.addMeetingSign(MeetingSignServiceImpl.java:57)
at com.jerehsoft.ec.act.controller.MeetingSignFWHController.newsView(MeetingSignFWHController.java:220)
at com.jerehsoft.ec.act.controller.MeetingSignFWHController$$FastClassBySpringCGLIB$$ae635c58.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:700)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:633)
at com.jerehsoft.ec.act.controller.MeetingSignFWHController$$EnhancerBySpringCGLIB$$f9110e9d.newsView()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:743)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:672)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919)
Apache Tomcat/7.0.79 - Error report HTTP Status 400 -
type Status report
message
description The request sent by the client was syntactically incorrect.
Apache Tomcat/7.0.79
The request sent by the client was syntactically incorrect