Задача - подключиться к удаленному веб-сервису. Его описание в форме WSDL. Я создаю описание сервиса:
"C:\Program Files (x86)\Java\jdk1.8.0_171\bin\wsimport.exe" -keep http://b2b.soglasie.ru:81/scoring/scoring?wsdl
Затем создаю полученный сервис:
ScoringService s = new ScoringService();
При инициализации сервиса возникает ошибка:
java.lang.NullPointerException
0 = {StackTraceElement@3701} "javax.xml.ws.Service.<init>(Service.java:112)"
1 = {StackTraceElement@3702} "ru.soglasie.b2b.scoring.ScoringService.<init>(ScoringService.java:38)"
ScoringService
@WebServiceClient(name = "ScoringService", targetNamespace = "http://scoring.b2b.soglasie.ru/", wsdlLocation = "http://b2b.soglasie.ru:81/scoring/scoring?wsdl")
public class ScoringService
extends Service
{
private final static URL SCORINGSERVICE_WSDL_LOCATION;
private final static WebServiceException SCORINGSERVICE_EXCEPTION;
private final static QName SCORINGSERVICE_QNAME = new QName("http://scoring.b2b.soglasie.ru/", "ScoringService");
static {
URL url = null;
WebServiceException e = null;
try {
url = new URL("http://b2b.soglasie.ru:81/scoring/scoring?wsdl");
} catch (MalformedURLException ex) {
e = new WebServiceException(ex);
}
SCORINGSERVICE_WSDL_LOCATION = url;
SCORINGSERVICE_EXCEPTION = e;
}
public ScoringService() {
super(__getWsdlLocation(), SCORINGSERVICE_QNAME);
}
javax.mxl.ws.Service
package javax.xml.ws;
import java.net.URL;
import java.util.Iterator;
import java.util.concurrent.Executor;
import javax.xml.bind.JAXBContext;
import javax.xml.namespace.QName;
import javax.xml.ws.handler.HandlerResolver;
import javax.xml.ws.spi.Provider;
import javax.xml.ws.spi.ServiceDelegate;
public class Service {
private ServiceDelegate delegate;
protected Service(URL wsdlDocumentLocation, QName serviceName) {
this.delegate = Provider.provider().createServiceDelegate(wsdlDocumentLocation, serviceName, this.getClass());
}
Как исправить эту ошибку?