webService

9 respostas
JotaJota

Duvida besta aqui, mas veja se vocês podem me ajudar:
Eu tenho um fornecedor que precisa receber algumas informações minha.
e eu transporto os dados que ele precisa via webservice.
na verdade eu preciso fazer um xml e enviar para este wsdl que ele disponibilioziou.
inclusive no xml define o metodo que tem disponviel no wsdl.
nunca trabalhei com webservice.
o que vocês aconselham a fazer?
eu ja tentei com netbeans.

ja tentei com o eclipse, utlizando um client,
mas ainda nao consegui enviar nenhum xml para o webservice.
Alguem pode me ajudar dando alguma informação para ter um norte?
Att.,

9 Respostas

pedruhenrik

já procurou aqui no forum sobre tutorias de consumação de webservices?

existe uma ferramenta q talvez possa ajudar:

http://www.soapui.org/

também existem frameworks para consumir webservices:

http://www.bansheeframework.com/blog/
http://cxf.apache.org/
http://axis.apache.org/axis2/java/core/ //não recomendado

att,

JotaJota

supondo que eu tinha o seguinte xml:

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://webservices..com.br/WSDL">
   <soapenv:Header/>
   <soapenv:Body>
      <wsdl:RetornaContatosCadastradost soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <login xsi:type="xsd:string">LOGIN</login>
         <senha xsi:type="xsd:string">SENHA</senha>
         <data_de xsi:type="xsd:string">DD/MM/AAAA</data_de>
         <data_ate xsi:type="xsd:string">DD/MM/AAAA</data_ate>
      </wsdl:RetornaContatosBlackList>
   </soapenv:Body>
</soapenv:Envelope>

e no eclipse eu gerei stubs com o wsimport para gerar e trabalhar diretamente com as classes.
logo, nao preciso mais passar todo este xml para o webservice certo?
só que as classes nao existem estas propriedades login, senha, data_de e data_ate…

JotaJota

pedruhenrik:
já procurou aqui no forum sobre tutorias de consumação de webservices?

existe uma ferramenta q talvez possa ajudar:

http://www.soapui.org/

também existem frameworks para consumir webservices:

http://www.bansheeframework.com/blog/
http://cxf.apache.org/
http://axis.apache.org/axis2/java/core/ //não recomendado

att,

Eu fiz utilizando o client webservice nativo do eclipse.
ja pesquisei inumeros tutoriais,
com netbeans ja desisti, porque não funciona.

pedruhenrik

posta as classes geradas.

att,

JotaJota

wsdl é publico:

http://webservices2.virtualtarget.com.br

gerei os stubs a partir deste links

JotaJota

o xml que eu postei ali so foi um nome ficticio.

JotaJota

Apenas para questão de informação
segui este tutorial
http://px.pats.no/px/Eclipse_tutorial.html

vou ler os wsdl e tentar entender e aplicar no meu wsdl também.

pedruhenrik
import java.rmi.RemoteException;

import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

public class Teste {
	public static void main(String[] args) throws ServiceException,
			RemoteException {

		String local = "http://webservices2.virtualtarget.com.br/index.php";
		String ret = null;
		String login = "login";
		String senha = "senha";

		try {
			Call call = (Call) new Service().createCall();
			call.setTargetEndpointAddress(local);
			call.setOperationName("RetornaListas");

			Object[] param = new Object[] { login, senha };

			ret = (String) call.invoke(param);

			System.out.println("retornado: " + ret);

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

testa assim, dentro do param vc passa os parametros necessários.

att,

JotaJota

Vlw vou testar!

Criado 16 de agosto de 2011
Ultima resposta 16 de ago. de 2011
Respostas 9
Participantes 2