java发布rest服务器,使用Java restlet发布到服务器

我正在尝试使用restlet向服务器发布JSONO对象。

当我尝试使用POSTMAN发布它可以发布,但是当我尝试从使用restlet的java代码发布时,我得到一个错误:

Unable to find a converter for this object

and Bad Request (400) - The request could not be understood by the server due to malformed syntax.

我的代码是:

ClientResource resource = new ClientResource(localHost + "/path");

//resource.setMethod(Method.POST);

resource.setAttribute("Authorization", authHdr); //auth code passed to the function

resource.setAttribute("Accept", "application/json");

resource.setAttribute("Content-Type", "application/json");

Map assetGrpList = networks; //map I pass to function

for(Iterator> it = assetGrpList.entrySet().iterator(); it.hasNext();)

{

Map.Entry mapEntry = it.next();

JSONObject network = mapEntry.getValue();

JSONObject jsonobj = new JSONObject();

jsonobj.put("managedSiteId", siteId);

jsonobj.put("assetGrpExternalId", network.get("NetworkID").toString());

jsonobj.put("assetGrpName", network.get("NetworkName"));

jsonobj.put("geoLocationInfoId", 1);

log.info(jsonobj.toString());

Representation response = resource.post(jsonobj, MediaType.APPLICATION_JSON);

if(resource.getResponse().getStatus().getCode() > 200) {

try {

log.info(response.getText());

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

org.restlet.resource.ResourceException: Bad Request

at org.restlet.resource.ClientResource.doError(ClientResource.java:590)

at org.restlet.resource.ClientResource.handleInbound(ClientResource.java:1153)

at org.restlet.resource.ClientResource.handle(ClientResource.java:1048)

at org.restlet.resource.ClientResource.handle(ClientResource.java:1023)

at org.restlet.resource.ClientResource.post(ClientResource.java:1485)

at org.restlet.resource.ClientResource.post(ClientResource.java:1424)

at com.waygum.mbaas.connectors.helper.MbaasRestClient.postAssetGrp(MbaasRestClient.java:531)

at com.waygum.mbaas.connectors.MbaasConnectorsBootRouter$1.process(MbaasConnectorsBootRouter.java:229)

at org.apache.camel.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:63)

at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)

at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:460)

at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)

at org.apache.camel.processor.Pipeline.process(Pipeline.java:121)

at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)

at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)

at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:62)

at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:141)

at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)

at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:460)

at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)

at org.apache.camel.processor.Pipeline.process(Pipeline.java:121)

at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)

at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)

at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)

at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:87)

at org.apache.camel.component.sparkrest.CamelSparkRoute.handle(CamelSparkRoute.java:46)

at spark.SparkBase$1.handle(SparkBase.java:311)

at spark.webserver.MatcherFilter.doFilter(MatcherFilter.java:159)

at spark.webserver.JettyHandler.doHandle(JettyHandler.java:60)

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)

at org.eclipse.jetty.server.Server.handle(Server.java:499)

at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)

at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)

at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)

at java.lang.Thread.run(Thread.java:745)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值