powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Invalid character in a Base-64 string
5 сообщений из 5, страница 1 из 1
Invalid character in a Base-64 string
    #37821395
maximfg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть веб сервис. С помощю утилиты wsimport были сгенерированные класы етого веб сервиса по WSDL. При вызова метода Login был получен ticket типа String. При использовании етого тикета в методе Logout выскакивает ошибка:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.FormatException: Invalid character in a Base-64 string.
   at System.Convert.FromBase64String(String s)
   at Common.Retail.EncrypterHelper.Decrypt(String s)
   at WebService.Retail.RetailService.Logout(String ticket, String& messageDataAsXml)
   --- End of inner exception stack trace ---
	at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:171)
	at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:94)
	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:240)
	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:210)
	at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:103)
	at $Proxy31.logout(Unknown Source)
	at qsys.Qsys.main(Qsys.java:46)



Вот код:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Holder loginResult=new Holder();
        Holder messageDataAsXml=new Holder();
        Holder ticket=new Holder();
        Holder logoutResult=new Holder();
                
        RetailService rs=new RetailService();
        RetailServiceSoap port=rs.getRetailServiceSoap();
        port.login("login", "password", messageDataAsXml, loginResult, ticket);
                       
        System.out.println("Logouting...");
        String t=ticket.value.toString();
    
        port.logout(/*ticket.value.toString()*/t, messageDataAsXml, logoutResult);



ticket должен быть в таком формате(и он в таком и есть:хххххххх-хххх-хххх-хххх-хххххххххххх)

В чем ошибка?
...
Рейтинг: 0 / 0
Invalid character in a Base-64 string
    #37821468
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Base64 на то и он, чтобы ограничить количество символов для унификации. Буквы помню, плюс помню, слеш помню ... черточку - не помню. И стандарт говорит, что нету.
...
Рейтинг: 0 / 0
Invalid character in a Base-64 string
    #37821556
maximfg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IDVsbruck,

Вы правы, но тикет мне вернул метод login, я его использую для loqout - тут ошибка.
А если убрать тире, то получаем вот такое сообщение:

Код: java
1.
2.
<ExceptMessage>System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
   at System.Guid..ctor(String g)



Тут по моему все ясно - формат xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx !?
...
Рейтинг: 0 / 0
Invalid character in a Base-64 string
    #37822379
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maximfgТут по моему все ясно - формат xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx !?Это он в текстовом виде такое, а его надо завернуть в base64.
...
Рейтинг: 0 / 0
Invalid character in a Base-64 string
    #37826312
maximfg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тема закрыта.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Invalid character in a Base-64 string
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]