私は、開発された以前のWebアプリケーションを使用してXMLを特定のスキーマで検証しようとしているこのコードを持っています。ウェブサイト上でそれはカールコマンドを与え、私は役に立たないでjavaでそれを実行しようとすることについていくつかの研究を行った。私はhttpclientというAPIを見つけましたが、POSTのために何も見つかりませんでした。変数を持つJavaのCurl POSTリクエスト
質問の後半。これが正しい形式であれば、curlコマンドでxml変数をどのように提示するかでなければなりません。
@POST
@Path("/Validate")
//Uncomment when testing with real xml
//@Produces("application/xml")
public String validate(@FormParam("xml") String xml)
{
System.out.println(xml);
System.out.println("validate");
try {
Process process = Runtime.getRuntime().exec("curl -X POST --data- urlencode 'xml=<hml>xml</hml>' http://miring.b12x.org/validator/ValidateMiring/ ");
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
String cmdXML="";
String line=null;
while((line=input.readLine())!=null)
{
cmdXML+=line;
}
} catch (IOException e) {
logger.error("Something went wrong in validating "+ e);
System.out.println("Error in validation");
}
return "stuff";
}
は、残念ながら、これは私のために働いていません。しかし、私はまた、curlコマンドをファイル名の方がずっと少ない端末で動作させるという問題を抱えているように思われるので、最初のスタートになると思います。 – Georgrio
ファイルのcurl postの例を以下に示します。 'curl -X POST -d @ file.xml http:// localhost:8080/url'です。ファイル名が変数の場合、 'file.xml'を' $ {FILENAME} 'に置き換える必要があります(あなたがUnixマシン上にいると仮定します) –