Olá pessoal, estou desenvolvendo um esquema de cotação de moedas via Webservice, e tenho o seguinte código
package webservicexnet;
import javax.swing.JOptionPane;
import webservicexnet.CurrencyConvertor;
import webservicexnet.CurrencyConvertorSoap;
import webservicexnet.Currency;
public class CurrencyConversionClient {
public static void main(String[] args) {
double inr = 10000;
double rate = conversionRate( Currency.INR,Currency.USD);
System.out.printf( "USD for %f INR = %f\n", inr, inr * rate);
}
private static double conversionRate(Currency fromCurrency, Currency toCurrency) {
CurrencyConvertor service = new CurrencyConvertor();
CurrencyConvertorSoap port = service.getCurrencyConvertorSoap();
return port.conversionRate(fromCurrency, toCurrency);
}
}
O erro acontece no = new CurrencyConvertor(); não consigo instancar uma nova interface. Alguém sabe uma solução para isso?
Desde já muito obrigado! :lol:
OBS: Segui o tutorial de http://www.srikanthtechnologies.com/blog/java/webservicexclient.aspx
CurrencyConvertor service = new CurrencyConvertor();
CurrencyConvertor por acaso é declarado como
public interface CurrencyConvertor{
???
Sim, essa é minha interface:
package webservicexnet;
public interface CurrencyConvertor extends javax.xml.rpc.Service {
public java.lang.String getCurrencyConvertorSoapAddress();
public webservicexnet.CurrencyConvertorSoap getCurrencyConvertorSoap() throws javax.xml.rpc.ServiceException;
public webservicexnet.CurrencyConvertorSoap getCurrencyConvertorSoap(java.net.URL portAddress) throws javax.xml.rpc.ServiceException;
}
Então você nunca poderá fazer isso
CurrencyConvertor service = new CurrencyConvertor();
Pois a JVM espera uma implementação desta.
No máximo, isso
CurrencyConvertor service = new CurrencyConvertor(
public java.lang.String getCurrencyConvertorSoapAddress(){
return null;
}
public webservicexnet.CurrencyConvertorSoap getCurrencyConvertorSoap() throws javax.xml.rpc.ServiceException{
return null;
}
public webservicexnet.CurrencyConvertorSoap getCurrencyConvertorSoap(java.net.URL portAddress) throws javax.xml.rpc.ServiceException{
return null;
}
);
O que você leu/estudou/sabe sobre interfaces?
A não ser que esteja usando injeção de dependências, aí é outra história.
Nunca trabalhei com webservices, segui o tutorial na risca, mas deu o erro naquela linha. Sei que eu não posso fazer
CurrencyConvertor service = new CurrencyConvertor();
mas também não sei o que fazer
nel
Julho 23, 2012, 2:28pm
#6
[quote=augustovieira]Nunca trabalhei com webservices, segui o tutorial na risca, mas deu o erro naquela linha. Sei que eu não posso fazer
CurrencyConvertor service = new CurrencyConvertor();
mas também não sei o que fazer[/quote]
Que tipo de tutorial te ensina a instanciar uma interface ?
Alguma coisa você pulou ou falharam na explicação.
O tutorial que segui foi esse, http://www.srikanthtechnologies.com/blog/java/webservicexclient.aspx
Não sei o que eu posso ter feito de errado pra ter acontecido esse erro pois, é tudo gerado altomaticamente.
e das classes geradas automaticamente, não existe nenhuma que implemente essa interface?
Tenho uma classe que implementa ela, mas não está dando certo.
nel
Julho 24, 2012, 8:02am
#10
Então tais fazendo errado. Posta a interface e a classe que a implementa.
Mudei e fiz com HTTP, o esquema que tava fazendo tinha 6 classes, troquei isso por HTTP e fiz em 5 linhas a mesma coisa que tava fazerndo e não tava conseguindo! Valeu!