Ошибка с клиентским веб-сервисом в java: [org.jboss.wsf.stack.cxf.resolver.JBossWSResourceResolver] Не удается открыть поток для ресурса - PullRequest
0 голосов
/ 11 октября 2019

В течение двух лет у меня было приложение, работающее в рабочем состоянии, и оно перестало работать веб-клиентом, но URL-адрес, который мой клиент использует в Интернете, опубликован и работает хорошо. Я понял, что если я изменю URL на http, веб-клиент уже работает. Но с https это не работает. Контракты одинаковые. Я не понимаю, почему это не работает с https. Это единственное изменение.

это URL, который перестал работать в моем коде

URL strEndPoint      = new URL("https://ws.cdyne.com/creditcardverify/luhnchecker.asmx?wsdl");

это URL, который работает

URL strEndPoint      = new URL("http://ws.cdyne.com/creditcardverify/luhnchecker.asmx?wsdl");

Iнужен для работы с https для политик безопасности

URL strEndPoint= new URL("https://ws.cdyne.com/creditcardverify/luhnchecker.asmx?wsdl");

    System.out.println("PP: Create Web Service Client...");
    LuhnChecker service = new LuhnChecker(strEndPoint);
    System.out.println("PP: Create Web Service...");

15:28:33,139 WARN  [org.jboss.wsf.stack.cxf.resolver.JBossWSResourceResolver] Cannot open stream for resource: https://ws.cdyne.com/creditcardverify/luhnchecker.asmx?wsdl
15:28:35,855 ERROR [STDERR] javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.

15:28:35,856 ERROR [STDERR]     at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:152)

15:28:35,856 ERROR [STDERR]     at org.jboss.wsf.stack.cxf.client.ProviderImpl.createServiceDelegate(ProviderImpl.java:71)

15:28:35,856 ERROR [STDERR]     at javax.xml.ws.Service.<init>(Service.java:57)

15:28:35,856 ERROR [STDERR]     at com.cdyne.ws2.LuhnChecker.<init>(LuhnChecker.java:48)

15:28:35,856 ERROR [STDERR]     at co.com.pulxar.validar.luhnTarjetas.checkLuhn(luhnTarjetas.java:35)

15:28:35,856 ERROR [STDERR]     at co.com.pulxar.ws.WS_PasarelaPagoImpl.ValidarTarjeta(WS_PasarelaPagoImpl.java:232)

15:28:35,856 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

15:28:35,857 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

15:28:35,857 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

15:28:35,857 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Unknown Source)

15:28:35,857 ERROR [STDERR]     at org.jboss.wsf.common.invocation.AbstractInvocationHandlerJSE.invoke(AbstractInvocationHandlerJSE.java:102)

1 Ответ

0 голосов
/ 23 октября 2019

Различия между двумя URL-адресами заключаются в протоколе.

Тот, который перестал работать:

URL strEndPoint      = new URL("https://ws.cdyne.com/creditcardverify/luhnchecker.asmx?wsdl");
URL strEndPoint      = new URL("http://ws.cdyne.com/creditcardverify/luhnchecker.asmx?wsdl");

Как объяснено в этой теме , выможно исправить, установив secureSocketProtocol="TLSv1" в моем файле cxf.xml, что является обязательным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...