有关微信支付回调notify_url的问题
请教大家个问题,我做的微支付功能已经成功支付,微信那边也扣款成功,就是在调用我这边的接口来通知结果,但是会报错请大家看看是哪里的问题
回调的URL="http://XXXX:8080/wxnorn/PaySult"
我的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet>
<display-name>PaySult</display-name>
<servlet-name>PaySult</servlet-name>
<servlet-class>com.servlet.PaySult</servlet-class>
<!-- 启动优先级
<load-on-startup>4</load-on-startup>-->
</servlet>
<servlet-mapping>
<servlet-name>PaySult</servlet-name>
<url-pattern>/PaySult/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
-----------------------------------------------------------------------------
/**微信回调函数
* 结果通知
* @author Administrator
*
*/
public class PaySult extends HttpServlet{
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
System.out.println("~~~~~~~~开始~~~~~~~");
request = ServletActionContext.getRequest();
response = ServletActionContext.getResponse();
InputStream inStream = request.getInputStream();
ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inStream.read(buffer)) != -1) {
outSteam.write(buffer, 0, len);
}
System.out.println("~~~~~~~~~~~~~~~~付款成功~~~~~~~~~");
outSteam.close();
inStream.close();
String result = new String(outSteam.toByteArray(),"utf-8");//获取微信调用我们notify_url的返回信息
Map<Object, Object> map = XMLUtil.doXMLParse(result);
for(Object keyValue : map.keySet()){
System.out.println(keyValue+"="+map.get(keyValue));
}
if (map.get("result_code").toString().equalsIgnoreCase("SUCCESS")) {
//TODO 对数据库的操作
response.getWriter().write(XMLUtil.setXML("SUCCESS", "")); //告诉微信服务器,我收到信息了,不要在调用回调action了
System.out.println("-------------"+XMLUtil.setXML("SUCCESS", ""));
}
}
}
报错如下:
2015-8-21 14:37:15 org.apache.catalina.core.StandardWrapperValve invoke
严重: Allocate exception for servlet PaySult
java.lang.ClassNotFoundException: com.servlet.PaySult
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1094)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:808)