Эта ошибка (который был зафиксирован в automysqlbackup 2.6+debian.2-1
) может работаться вокруг, мешая automysqlbackup вывести performance_schema
и information_schema
базы данных. Это может быть сделано путем редактирования /etc/default/automysqlbackup
следующим образом:
Добавляют, что дополнительный канал к grep ступает для удаления performance_schema
и information_schema
из списка DBNAMES.
Так, в строке, которая запускается DBNAMES=
, и после | grep -v ^mysql$
, вставляют
| grep -v ^performance_schema$ | grep -v ^information_schema$
прежде | tr \\\r\\\n ,\
таким образом, что заключительная строка должна быть похожей
DBNAMES=`mysql --defaults-file=/etc/mysql/debian.cnf --execute="SHOW DATABASES" | awk '{print $1}' | grep -v ^Database$ | grep -v ^mysql$ | grep -v ^performance_schema$ | grep -v ^information_schema$ | tr \\\r\\\n ,\ `
Благодаря JГ©rГґme Drouet.
, С другой стороны, при использовании исходного automysqlbackup пакета из SourceForge а не способного пакета можно добавить performance_schema базу данных к исключенным базам данных путем изменения строки, которая содержит CONFIG_db_exclude в/etc/automysqlbackup/myserver.conf:
# List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. ().
CONFIG_db_exclude=( 'information_schema' 'performance_schema' )
Первый вопрос: это служба Java на основе SOAP или REST, которую вы пытаетесь вызвать?
Прямо сейчас с "webHttpBinding" вы используете подход на основе REST. Если служба Java является службой SOAP, вам необходимо изменить привязку на «basicHttpBinding».
ЕСЛИ это служба на основе SOAP, попробуйте следующее:
BasicHttpBinding binding = new BasicHttpBinding();
binding.SendTimeout = TimeSpan.FromSeconds(25);
binding.Security.Mode = BasicHttpSecurityMode.Transport;
binding.Security.Transport.ClientCredentialType =
HttpClientCredentialType.Basic;
EndpointAddress address = new EndpointAddress(your-url-here);
ChannelFactory<MyService> factory =
new ChannelFactory<MyService>(binding, address);
MyService proxy = factory.CreateChannel();
proxy.ClientCredentials.UserName.UserName = "username";
proxy.ClientCredentials.UserName.Password = "password";
Я использовал это с различными веб-службами, и это работает - большую часть времени.
Если это не сработает, вам нужно будет узнать больше о том, чего ожидает этот веб-сервис Java, и о том, как отправить ему соответствующую информацию.
Marc
Я также добавлю к этому, основываясь на аналогичной проблеме, с которой я только что столкнулся. Я автоматически сгенерировал конфиг / прокси с помощью VS - но созданный им конфиг на самом деле не работал.
Хотя в нем был правильно установлен security mode="Transport", в нем не был установлен clientCredentialType="Basic". Я добавил к этому свой конфиг, но он все равно не работал. Затем я фактически удалил безопасность сообщения, которое создал инструмент, поскольку служба, с которой я связываюсь, использует только SSL + Basic:
<message clientCredentialType="UserName" algorithmSuite="Default" />
Вуаля - все заработало.
Я не уверен, почему это имело эффект, учитывая, что элемент не указывал безопасность на уровне сообщений... но это сработало.