Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0
-
None
Description
We found an issue with the HexBinary encoding being performed while sending a input message.
Attached is the JAXWS Service class, needed client, WSDL etc.
If you look at the WSDL, it has a service<MyTestService> and port<MyTest>
The input for the operation<echoInOutSimpleTypes> in that port<MyTest> comprises of part<varBase64Binary> of type<xsd:base64Binary> and part<varHexBinary> of type<xsd:hexBinary>. The same byte array is encoded using these two encoding schemes.
So i think before converting to SOAP message, the part<varBase64Binary> should be encoded using Base64 encoding and the part<varHexBinary> should be encoded using Hexadecimal encoding.
But when we intercept and parse the SOAP message, we can see that both the encoded values are same. (i.e. the byte array encoded with the two encoding schemes is same)
Encoding the same byte array separately using other utility for Base64 and Hexadecimal encoding shows that the value encoded using Hexadecimal encoding is wrong(Base64 encoding seems to be fine). In the test case the byte array comprises of {-128, 0, 127) which should be encoded as 80007F, wheres in the SOAP message we see it as gAB.
Looks like this is a bug.
Please correct me if i'm wrong or i'm making any wrong assumptions.