从Java中的Web服务xsd:base64Binary字段中获取数据

时间:2014-11-05 21:01:32

标签: java jaxb

我有一个我试图从Java调用的Web服务。服务的XSD将字段定义为xsd:base64Binary。我正在使用maven jaxb2插件来生成Java工件。该字段在生成的Java对象中变为byte []。在该字段中返回的数据是CSV或XML数据,具体取决于传递给服务的内容。 SoapUI完美地显示数据(未编码)。用wireshark观察电线我也可以看到非编码数据。我的问题是,如何在Java中将这些数据作为字符串获取?我想获取这些数据,然后将其写入文件。

响应看起来像这样: 服务协议,间隔开始时间,间隔结束时间,数量,计量单位等等。

XSD的相关位:

生成java的相关位:
protected byte [] greenDoc;

在我的客户端java代码中,我一直在尝试新String(byte []),新String(byte [],charset),Base64解码等的所有可能组合,而我似乎无法正确获取数据。我知道这不是Web服务的限制,因为我说SoapUI可以完美地显示数据。

关于客户端代码如何获取字节数组并转换为字符串的任何指针?谢谢!

1 个答案:

答案 0 :(得分:0)

以编程方式,您可以使用DatatypeConverter