How to POST javascript Blob to JAX-WS Web service

How to POST javascript Blob to JAX-WS Web service

本文关键字:to Web service JAX-WS javascript POST How Blob      更新时间:2023-09-26

我正在使用Mozilla Web API,特别是blob数据类型。

https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob

我正在尝试发布到 JAX-WS 编写的 Web 服务,并将音频文件 blob 作为参数传递。我不确定我的 Web 服务需要什么参数才能接收 Blob。

JavaScript 示例片段...

var blob; // initialise to some variable
var url = 'myUrl';
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
console.log(xhttp.responseText);
}
};
xhttp.open("POST", url, true);
xhttp.send('?param=' + blob);

JAX-WS Web 服务方法

@POST
@Consumes("text/plain")
@Produces("text/plain")
public String postMessage(@QueryParam("param") byte [] test){
   //do something with byte [] test
   return "Success";
}

我不确定如何设置此功能,任何帮助将不胜感激。

只需使用二进制数据传输MTOM 即可通过 JAX-WS Web 服务对其进行优化。

从甲骨文帮助中心:

  1. 批注要用作 MTOM 附件的数据类型。(可选)

    根据您的编程模型,您可以注释您的 Java 类 或 WSDL 来定义用于发送二进制文件的内容类型 数据。此步骤是可选的。默认情况下,映射 XML 二进制类型 到 Java 字节 []。

  2. 在 Web 服务上启用 MTOM。

  3. 在 Web 服务的客户端上启用 MTOM。

  4. 设置附件阈值。

    设置附件阈值以指定 xs:binary64 数据何时 以内联方式或作为附件发送。