我按照这篇文章给出的例子:How to send data from Matlab to Rails,但我收到一条错误消息,我找不到任何信息。我的脚本是这样的:HTTP Post with Matlab
javaaddpath('./httpcomponents/httpclient-4.2.2.jar')
javaaddpath('./httpcomponents/httpcore-4.2.2.jar')
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
httpclient = DefaultHttpClient();
httppost = HttpPost('http://localhost:3000/signin');
httppost.addHeader('Content-Type','application/json');
httppost.addHeader('Accept','application/json');
tokenRequest = StringEntity('{"session", "{email_address:""[email protected],""password:""password""}"}');
httppost.setEntity(tokenRequest);
response = httpclient.execute(httppost);
就上线,我得到的错误:发生
Java异常:java.lang.VerifyError的:不能从最后一类
从搜索继承在线,我收集这是一个软件版本问题。我尝试使用这些文件的4.2版本(与其他文章中使用的版本相同),但我收到了同样的错误。有没有人有一个想法可能是错的?或者知道一种方法来做我想做的事情,而不使用这些外部库?
编辑:
本来我尝试使用此代码:
tokenRequest = {'session', '{''email_address'':''[email protected]'',''password'':''password''}'};
token = urlread('http://localhost:3000/signin','POST',tokenRequest);
,但我收到,导致我的其他职位的NoMethodError:
NoMethodError (undefined method `each' for "{'email_address':'[email protected]','password':'password'}":String):
app/models/session.rb:14:in `initialize'
我想原因它抛出此错误是因为服务器认为它正在接收一个没有每个方法的String对象。我假设我会通过使用'Content-Type'参数来指定它的json来解决这个问题。有没有办法使用urlread来做到这一点?
编辑:对Java库问题
Java exception occurred:
java.lang.VerifyError: Cannot inherit from final class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at com.mathworks.jmi.CustomURLClassLoader.findClass(ClassLoaderManager.java:760)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at org.apache.http.impl.client.DefaultHttpClient.createHttpParams(DefaultHttpClient.java:157)
at org.apache.http.impl.client.AbstractHttpClient.getParams(AbstractHttpClient.java:448)
at org.apache.http.impl.client.AbstractHttpClient.createClientConnectionManager(AbstractHttpClient.java:309)
at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:466)
at org.apache.http.impl.client.AbstractHttpClient.createHttpContext(AbstractHttpClient.java:286)
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:851)
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
给我们完整的堆栈跟踪 – Archer