Você está na página 1de 2

SOAP

Jorge Rosivan R.B.

Exemplo simples de um programa Java que usa a biblioteca Apache CXF para criar um cliente
SOAP e fazer uma chamada para um serviço web SOAP:

import org.apache.cxf.endpoint.Client;
import
org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;

public class SoapClientExample {


public static void main(String[] args) {
// Criação do cliente dinâmico para o serviço web SOAP
JaxWsDynamicClientFactory dcf =
JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("http://example.com/soap-
service?wsdl");

try {
// Preparação dos parâmetros para a chamada
Object[] params = new Object[] { "param1", "param2" };

// Chamada ao método do serviço web SOAP


Object[] response = client.invoke("methodName", params);

// Processamento da resposta
if (response != null && response.length > 0) {
String result = (String) response[0];
System.out.println("Resultado: " + result);
} else {
System.out.println("Nenhuma resposta recebida.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

No exemplo, estamos usando a biblioteca Apache CXF para criar um cliente SOAP dinâmico. O
cliente é criado com base no WSDL (Web Services Description Language) do serviço web SOAP.
Em seguida, fazemos uma chamada para o método desejado do serviço, passando os
parâmetros necessários. Por fim, processamos a resposta recebida do serviço.

Importante substituir a URL do serviço web SOAP pelo endereço correto do seu serviço e
ajustar o nome do método e os parâmetros de acordo com a API do serviço SOAP específico
que você está consumindo.
É importante ressaltar que este é apenas um exemplo básico para demonstrar o uso do cliente
SOAP. A implementação real dependerá da biblioteca ou framework específico que você
estiver usando, bem como dos detalhes da API SOAP com a qual você está trabalhando.

Abaixo, temo um exemplo de um servidor SOAP simples usando a biblioteca Apache CXF no
Java:

É criado um serviço web SOAP simples usando a anotação @WebService. O método


methodName é um exemplo de um método que pode ser chamado por um cliente SOAP. A
lógica do serviço é implementada dentro deste método.

Em seguida, configuramos o servidor SOAP usando a classe JaxWsServerFactoryBean.


Especificamos a classe do serviço (SoapServiceExample) e o endereço onde o serviço estará
disponível (http://localhost:8080/soap-service).

Ao executar este código, o servidor SOAP será iniciado e estará pronto para receber chamadas
do cliente SOAP. Certifique-se de ajustar o endereço e a configuração do servidor de acordo
com suas necessidades.

Este é apenas um exemplo básico para demonstrar o uso do servidor SOAP. A implementação
real pode variar dependendo da biblioteca ou framework específico que você estiver usando
para criar o servidor SOAP.

import javax.jws.WebMethod;
import javax.jws.WebService;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

@WebService
public class SoapServiceExample {

@WebMethod
public String methodName(String param1, String param2) {
// Lógica do serviço web SOAP
return "Resultado da chamada: " + param1 + " " + param2;
}

public static void main(String[] args) {


// Configuração do servidor SOAP
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
factory.setServiceClass(SoapServiceExample.class);
factory.setAddress("http://localhost:8080/soap-service");

// Criação do servidor SOAP


factory.create();

System.out.println("Servidor SOAP iniciado.");


}
}

Você também pode gostar