Estou preso tentando descobrir como iniciar uma conexão WSDL com EodData.com
o endereço wsdl é
http://ws.eoddata.com/data.asmx?wsdl
Eu estou usando o CXF para criar uma conexão de cliente:
QName qname = new QName("http://ws.eoddata.com/Data", "Data");
Data data = new Data(new URL("http://ws.eoddata.com/data.asmx?wsdl"), qname);
DataHttpGet dataGet = data.getDataHttpGet();
dataGet.login("xxx", "ppp");
e eu peguei
Caused by: org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element (uri:"http://schemas.xmlsoap.org/soap/envelope/", local:"Header"). Expected elements are <{http://ws.eoddata.com/Data}LoginResult>
Não tem certeza de como devo iniciar a conexão?
Respostas:
1 para resposta № 1Um teste rápido usando o seguinte código funcionou para mim.
Usando o WSDL2Java:
wsdl2java -autoNameResolution http://ws.eoddata.com/data.asmx?wsdl
Em seguida, usando o código fornecido com algumas alterações:
QName qname = new QName("http://ws.eoddata.com/Data", "Data");
Data data = new Data(new URL("http://ws.eoddata.com/data.asmx?wsdl"), qname);
DataSoap dataSoap = data.getDataSoap();
LOGINRESPONSE response = dataSoap.login("xxx", "ppp");
System.out.println(response.getMessage());
A resposta foi:
Invalid Username or Password