У меня возникли проблемы при попытке проверить пару токенов/значков для входа в вебсервис.Java RestEasy: Base64 закодированный знак над REST
WS обнажается как мыло-wsdl 1.1, но клиент должен потреблять его через приложение, использующее реакцию. После нескольких часов исследований мы (клиент и я) закончили вывод, что было бы быстрее опубликовать Rest-proxy, который потребляет wsdl и предоставляет его как rest api.
с WS предназначено исключительно для проверки подлинности и состоит из двух методов:
+login(String: username, String: password): LoginResponse(String token, Base64Binary sign);
+verifyToken(String: token, Base64Binary: sign): Boolean;
параметров WSDL для маркеров и знак проверка
<xs:sequence>
<xs:element minOccurs="0" name="token" type="xs:string"/>
<xs:element minOccurs="0" name="firma" type="xs:base64Binary"/>
</xs:sequence>
LoginResponse посылаются через JSON, со следующей структурой:
public class LoginResponse {
private byte[] firma;
private String token;
}
Затем получено путем подтвержденияТокнуть как строку:
@GET
@Path("/validarToken")
@Produces(MediaType.APPLICATION_JSON)
public Response verifyToken(@QueryParam("token") String token,
@QueryParam("sign") String sign) {
}
Затем знак преобразуется с использованием sign.getBytes();
Я заметил, что когда я отлаживаю byteArray, возвращаемый login(), массив включает отрицательные числа, но когда он получен проверкойToken и преобразован в байты, не представляются отрицательные значения (результирующий массив не является одна и та же).
Тем не менее, если я непосредственно вызываю verifyToken после входа в LoginResponse, он корректно проверяет, поэтому метод verifyToken работает правильно.
Спасибо.