将 XML 发布到泽西休息 Web 服务

Post XML to jersey rest webservice

本文关键字:Web 服务 XML      更新时间:2023-09-26

>我正在尝试将消息从facelet(.xhtml)页面发布到REST Web服务(泽西岛)。我认为如果服务器有的话,可以在javascript/jQuery中做到这一点,比如说

<?php header('Access-Control-Allow-Origin: *'); ?>

但是,服务器似乎没有这样的属性,我不知道在配置中在哪里修改它。

我试过这个;

var settings = {
  "async": true,
  "crossDomain": true,
  "url": "example.com",
  "method": "POST",
  "headers": {
    "content-type": "application/xml",
    "cache-control": "no-cache"
  },
"data": 
  "<consultation>'n    'n'
    <consultationDescription>"+description+"</consultationDescription>'n    'n'
    <customerName>"+fullName+"</customerName>'n    'n'
    <customerPhone>"+phonenumber+"</customerPhone>'n    'n'
    <endDateAndTime>"+endDateAndTime+"</endDateAndTime>'n    'n'
    <startDateAndTime>"+startDateAndTime+"</startDateAndTime>'n'n'
  </consultation>",
  contentType: "application/xml", 
$.ajax(settings).done(function (response) {
  console.log(response);
});

但我只得到跨源错误。

那么我应该尝试在服务器上找到修改源的位置,还是应该采用不同的方法?也许一个<的h:form>并通过Javabean(如#{sendXML.someMethod}等)发布,但我不知道在哪里可以找到语法。我已经遇到这个问题一段时间了,找不到好的答案。你们有什么想法吗?

示例:http://postimg.org/image/5k2thyl3p/

单击绿色单元格 --> 写入消息(提交)-->服务器上的预订时间。更新视图。

所以我按照

本指南找到了如何做到这一点: http://www.mkyong.com/java/how-to-send-http-request-getpost-in-java/

private final String USER_AGENT = "Mozilla/5.0";
// HTTP POST request
private void sendPost() throws Exception {
try  {
    String url = "http://myurl";
    URL obj = new URL(url);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    //add reuqest header
    con.setRequestMethod("POST");
    con.setRequestProperty("Accept-Language", "UTF-8");
    con.setRequestProperty("content-type", "application/xml");
    String urlParameters = "<myXML></myXML>";
    // Send post request
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.writeBytes(urlParameters);
    wr.flush();
    wr.close();
catch (Exception e) {
    e.printStackTrace();
}
}

由于javascript由于跨域错误而无法正常工作,因此在Javabean中完成工作就可以了。

我通过将 HttpURLConnection 修改为 HttpURLConnection 来更改代码示例,并添加了 con.setRequestProperty("content-type"、"application/xml")。

我还用尝试/捕获来包装声明。

我可能从一开始就说得不好。但是通过在豆子中进行操作,它对我有用。