我尝试将curl表达式转换为$ http angular命令。
卷曲表达式为:
curl https://ws.sandbox.pagseguro.uol.com.br/sessions/ -d\ "email=suporte@lojamodelo.com.br\ &token=95112EE828D94278BD394E91C4388F20\
我使用的命令是:
$http({url: "https://ws.sandbox.pagseguro.uol.com.br/sessions?email=suporte@lojamodelo.com.br&token=95112EE828D94278BD394E91C4388F20",
method: 'POST',
headers: { 'Content-Type': 'application/{xml,json}', 'Accept': 'application/vnd.pagseguro.com.br.v3+{xml,json};charset=ISO-8859-1' }
}).then(function (session) {
...
}, function (error) {
Logger.error(error);
});
}
但是服务器中出现NullPointerException错误。我想我已经将curl表达式转换为$ http angular。但
调用$ http angular cmd后返回的stacktrace为:
"<html><head><title>JBossWeb/2.0.1.GA - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>java.lang.NullPointerException
org.jboss.resteasy.plugins.server.servlet.HttpServletInputMessage.<init>(HttpServletInputMessage.java:60)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.createHttpRequest(HttpServletDispatcher.java:64)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.createResteasyHttpRequest(HttpServletDispatcher.java:53)
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:190)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:48)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
uol.pagseguro.commons.presentation.filter.CrossSiteScriptingFilter.doFilter(CrossSiteScriptingFilter.java:81)
br.com.uol.pagseguro.commons.web.filter.HttpFilter.doFilter(HttpFilter.java:25)
uol.pagseguro.commons.presentation.filter.UniqueIdTrackingFilter.doFilter(UniqueIdTrackingFilter.java:45)
br.com.uol.pagseguro.commons.web.filter.HttpFilter.doFilter(HttpFilter.java:25)
uol.pagseguro.commons.presentation.filter.SessionCreationTrackingFilter.doFilter(SessionCreationTrackingFilter.java:41)
br.com.uol.pagseguro.commons.web.filter.HttpFilter.doFilter(HttpFilter.java:25)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
注意 JBossWeb / 2.0.1.GA日志中提供了根本原因的完整堆栈跟踪。
感谢&#39; S
答案 0 :(得分:1)
您应该使用数据键传递参数:
$http({url: "https://ws.sandbox.pagseguro.uol.com.br/sessions",
method: 'POST',
data: {"email": "suporte@lojamodelo.com.br", "token":"95112EE828D94278BD394E91C4388F20"},
headers: { 'Content-Type': 'application/{xml,json}', 'Accept': 'application/vnd.pagseguro.com.br.v3+{xml,json};charset=ISO-8859-1' }
}).then(function (session) {
...
}, function (error) {
Logger.error(error);
});
}
参考:https://docs.angularjs.org/api/ng/service/ $ http#general-usage