Stackoverflow 上有很多关于 curl 的问题,但我无法弄清楚我在做什么我不应该做的事情。我正在尝试调用我使用 Jersey API 编写的 RESTful 服务,并尝试向其发布 xml 字符串,但我收到 HTTP 415 错误,这应该是媒体类型错误。
在我的 shell 脚本中调用第一个服务:
abc=curl http://gf...:8080/InChItoD/inchi/3dstructure?InChIstring=$inchi
echo $abc (这很好,它返回的输出如下所示。)
将此 xml 字符串发布到第二个服务
定义=curl -d $abc -H "Content-Type:text/xml" http://gf...:8080/XML2G/xml3d/gssinput
我收到以下错误:
... ... HTTP 状态 415 状态报告消息描述。服务器拒绝此请求,因为请求实体的格式不受请求方法 () 的请求资源支持。Apache Tomcat/6.0.26
这是我要发布的 xml 字符串示例
<?xml version="1.0"?><molecule xmlns="http://www.xml-cml.org/schema"> <atomArray> <atom id="a1" elementType="N" formalCharge="1" x3="0.997963" y3="-0.002882" z3="-0.004222"/> <atom id="a2" elementType="H" x3="2.024650" y3="-0.002674" z3="0.004172"/> <atom id="a3" elementType="H" x3="0.655444" y3="0.964985" z3="0.004172"/> <atom id="a4" elementType="H" x3="0.649003" y3="-0.496650" z3="0.825505"/> <atom id="a5" elementType="H" x3="0.662767" y3="-0.477173" z3="-0.850949"/> </atomArray> <bondArray> <bond atomRefs2="a1 a2" order="1"/> <bond atomRefs2="a1 a3" order="1"/> <bond atomRefs2="a1 a4" order="1"/> <bond atomRefs2="a1 a5" order="1"/> </bondArray></molecule>
提前致谢