【发布时间】:2013-11-04 06:47:35
【问题描述】:
我正在创建一个向 Web 服务发送字节数组的 Web 服务客户端。我认为只有字节数组的地址被传递。如果是这种情况,位于远程计算机中的 Web 服务如何识别位于我的计算机中的字节数组的地址。 我应该在编码后上传文件并将其保存为字节数组。 wsdl中提到的数据类型是byte[]。所以我怀疑我是否可以使用“对象”来传递数据。
我只是尝试按原样传递字节数组。它对我不起作用。请帮忙。
【问题讨论】:
-
是什么让你认为地址被传递了?当您尝试仅传递字节数组时发生了什么?您查看过网络上发送的内容吗?
-
我试图打印我发送的值。它看起来像一个地址,而不像常规的 base64 编码数据。不知道我是否做得对。
-
您在哪里尝试打印值?在发送方还是接收方?您所看到的只是在字节数组上调用
toString()的结果,这永远不会有用。请改用Arrays.toString(byte[])。我怀疑你实际上没有遇到问题。 -
是的,您在
byte[]上调用toString(),这不会给您带来特别有用的结果。听起来您没有证据表明您的代码实际上失败了 - 如果唯一表明有问题的事情是调用toString()为您提供了诸如[B@89ffb18之类的输出,那么真的 没有什么建议有什么问题。 Web 服务对字节数组做什么?如果它存储在某个地方,您可以在之后检查该存储吗? -
@antony.ouseph.k,如果您使用 base64 发送数据,您应该会看到一个结构与此类似的字符串:
U2FtcGxlIGJhc2U2NCBlbmNvZGVkIHN0cmluZyE=。该字符串必须在另一端解码为字节数组。您能否展示您的代码的重要部分和/或您的服务的请求/响应示例?
标签: java web-services bytearray