我在Java上有Soap WS。
這裏是SOAP請求SOAP請求。將字符串轉換爲字節數組
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:his="SCC/Lis/HistoryFormatter">
<soapenv:Header/>
<soapenv:Body>
<his:formatHistoryByteArray>
<arg0>cid:anystring</arg0>
</his:formatHistoryByteArray>
</soapenv:Body>
</soapenv:Envelope>
FormatHistoryByteArray.class僅具有一個場
@XmlElement(name = "arg0", namespace = "", nillable = true)
private byte[] arg0;
鍵入* .XSD
<xs:complexType name="formatHistoryByteArray">
<xs:sequence>
<xs:element name="arg0" type="xs:base64Binary" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
WSDL和由JAXWS生成的XSD。
我無法理解請求中的轉換字符串中的字節[]中java_code中的邏輯。幫助plz
cid:是否需要前綴?
被修改: 例如,如果我有請求
<arg0>abcdef</arg0>
在Java代碼我得到字節[] = {105,-73,29}
的WebService如何得到這個字節數組來自字符串abcdef?
你的問題仍然不清楚。如果您希望將字符串轉換爲byte [],則使用'stringValue.getBytes()' – Bitmap 2012-04-23 13:25:16
WebService會自動將字符串轉換爲byte [],但此結果與stringValue.getBytes()結果不同。 – Ilya 2012-04-23 13:34:31
不,它不。您定義的'formatHistoryByteArray'的complexType是一個base64編碼值,您可以使用'org.apache.commons.codec.binary.Base64'或類似的方式將值解碼回byte []或object。 – Bitmap 2012-04-23 13:42:48