如果客户端像这样连接到 Web 服务 (JAX-RS):
URL u = new URL(server);
URLConnection con = u.openConnection();
con.setDoOutput(true);
con.getOutputStream().write(stream.toByteArray()); // ByteArrayOutputStream
con.connect();
InputStream inputStream = con.getInputStream();
byte [] urlBytes = new byte [inputStream.available()];
inputStream.read(urlBytes);
url = new String(urlBytes);
那么 Web 服务接口定义应该是什么?我有:
@POST
@Path("/upload")
@Consumes("image/jpeg")
@Produces(MediaType.TEXT_PLAIN)
String uploadPicture();
但是,当客户端访问时,它会抛出:
[错误] 信息:生成 jax-rs 代理加载器类。[INFO] DEBUG [SynchronousDispatcher] PathInfo: /blob/upload [INFO] WARN [ExceptionHandler] 执行 POST /blob/upload [INFO] org.jboss.resteasy.spi.UnsupportedMediaTypeException 失败:无法在 org 使用内容类型 [INFO]。 jboss.resteasy.core.registry.Segment.match(Segment.java:117) [INFO] at org.jboss.resteasy.core.registry.SimpleSegment.matchSimple(SimpleSegment.java:33) [INFO] at org.jboss。 resteasy.core.registry.RootSegment.matchChildren(RootSegment.java:327) [INFO] at org.jboss.resteasy.core.registry.SimpleSegment.matchSimple(SimpleSegment.java:44) [INFO] at org.jboss.resteasy。 core.registry.RootSegment.matchChildren(RootSegment.java:327) [INFO] at org.jboss.resteasy.core.registry.RootSegment.matchRoot(RootSegment.java:
这个客户端的 JAX-RS 接口应该是什么?
更新:
这里要注意的一件事是客户端代码已经编译和签名,我不能只是更改它。