Интеграция с TERYT - веб-сервисом правительства ПольшиJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Интеграция с TERYT - веб-сервисом правительства Польши

Сообщение Anonymous »

Я пытаюсь подключиться (безуспешно) к следующему WS с помощью Java:
Я пытался использовать мыльный интерфейс, но безуспешно. Пробовал базовую аутентификацию и аутентификацию NTLM, но всегда получаю следующую ошибку:

Код: Выделить всё


http://www.w3.org/2005/08/addressing/soap/fault



a:InvalidSecurity
An error occurred when verifying security for the message.



В официальных инструкциях для этого веб-сервиса показан следующий пример подключения с использованием C#. Я не проверял это, но предполагаю, что это работает правильно.

Код: Выделить всё

try {
var proxy = new ChannelFactory("custom");
proxy.Credentials.UserName.UserName = login;
proxy.Credentials.UserName.Password = haslo;
var result = proxy.CreateChannel();
var test = result.CzyZalogowany(); // should return true if connected correctly
} catch (Exception ex) { }
И настройка ниже:
Поэтому я попытался подключиться с помощью Java следующим образом:

Код: Выделить всё

public static void main(String[] args) {
try {
final String wsdlResourcePath = "wsdl/jaxb/teryt/terytws1.wsdl";
final String url = "https://uslugaterytws1test.stat.gov.pl/TerytWs1.svc";
ITerytWs1 teryt = createSoapEndpoint((wsdlLocation) -> new TerytWs1(wsdlLocation).getCustom(), wsdlResourcePath, url);
System.out.println(teryt.czyZalogowany());
} catch (Exception e) { }
}

private static  SOAP createSoapEndpoint(SoapCreator soapCreator, String wsdlResourcePath, String url) {
ClassLoader cl = Thread.currentThread().getContextClassLoader();
URL wsdlLocation = cl.getResource(wsdlResourcePath);
SOAP soap = soapCreator.create(wsdlLocation);

BindingProvider provider = (BindingProvider) soap;

Map context = provider.getRequestContext();
context.put(BindingProvider.USERNAME_PROPERTY, "TestPubliczny");
context.put(BindingProvider.PASSWORD_PROPERTY, "1234abcd");
context.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, url);
return soap;
}
К сожалению, код зависает во время вызова «teryt.czyZalogowany()». Не дает тайм-аута - ничего, просто обрабатывает эту строку навсегда или блокируется на ней.

Мой код Java выдает следующие предупреждающие сообщения:


ВНИМАНИЕ: WSP0075: утверждение политики
«{http://schemas.xmlsoap.org/ws/2005/07/s ... tingTokens»
оценено как «НЕИЗВЕСТНО». Lip 27, 2017 11:58:35
[com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector]
selectAlternatives ПРЕДУПРЕЖДЕНИЕ: WSP0075: утверждение политики
«{http://schemas.xmlsoap.org/ws/2005/07/s ... ortBinding»
оценено как «НЕИЗВЕСТНО». Lip 27, 2017 11:58:35
[com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector]
selectAlternatives ПРЕДУПРЕЖДЕНИЕ: WSP0075: утверждение политики
"{http:// Schemas.xmlsoap.org/ws/2005/07/securitypolicy}Trust10" было
оценено как «НЕИЗВЕСТНО». Lip 27, 2017 11:58:35
[com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector]
selectAlternatives ПРЕДУПРЕЖДЕНИЕ: WSP0075: утверждение политики
"{http:// Schemas.xmlsoap.org/ws/2005/07/securitypolicy}Wss11" было
оценено как «НЕИЗВЕСТНО». Lip 27, 2017 11:58:35
[com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector]
selectAlternatives ПРЕДУПРЕЖДЕНИЕ: WSP0075: утверждение политики
"{http:// www.w3.org/2006/05/addressing/wsdl}UsingAddressing" было
оценено как «НЕИЗВЕСТНО». Lip 27, 2017 11:58:35
[com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector]
selectAlternatives ПРЕДУПРЕЖДЕНИЕ: WSP0019: на стороне клиента выбрана неоптимальная альтернатива политики
с фитнесом "НЕИЗВЕСТНО".


Возможно, кто-то знает больше о такого рода проблемах или сможет сразу подключиться к этому WS со своей конфигурацией - на данный момент я понятия не имею, в чем может быть проблема, и я вижу перед собой перспективу «траты времени»... поэтому, пожалуйста, помогите.

Подробнее здесь: https://stackoverflow.com/questions/453 ... eb-service
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»