Web Service retornando lista - Unsupported Content-Type: text/html;charset=utf-8 Supported ones

Me desculpem, amigos, pelo tópico enorme, mas a necessidade é grande.

Tenho uma classe WS com dois métodos: um retornando um objeto e outro uma List desses objetos. Acontece que o método que retorno o objeto (que é serializado) está funfando legal. Já quando rodo o método que deveria me retornar uma List, recebo o erro “com.sun.xml.internal.ws.server.UnsupportedMediaException: Unsupported Content-Type: text/html;charset=utf-8 Supported ones are: [text/xml]”.

Aqui vão meus códigos (se necessário, posso postar mais informações):

O provedor do serviço está assim:


@Name("produtoWebWS")
@Stateless
@WebService()
public class ProdutoWebWS {


        ISTO FUNCIONA

	@WebMethod()
	@Begin
	public GrupoProdutoWeb buscaGrupoProdutosWeb(Long id) throws Exception {

		GrupoProdutoWeb retorno=null;
		
		Lifecycle.beginCall();

		try{

			GrupoProdutoWebBO grupoProdutoWebBO = (GrupoProdutoWebBO) Component.getInstance("grupoProdutoWebBO");
			
			retorno = grupoProdutoWebBO.buscaID(id);

		}catch(Exception e){
			
			e.printStackTrace();
			
			throw new Exception("ERRO: "+e.getLocalizedMessage());
			
		}

		Lifecycle.endCall();

		return retorno;

	}



        JA ISTO, ME RETORNA O ERRO CITADO NO CABECALHO DO POST

	@WebMethod()
	@Begin
	public List<GrupoProdutoWeb> listaGruposProdutosWeb() throws Exception {

		List<GrupoProdutoWeb> lista=null;
		
		Lifecycle.beginCall();

		try{

			GrupoProdutoWebBO grupoProdutoWebBO = (GrupoProdutoWebBO) Component.getInstance("grupoProdutoWebBO");
			
			lista = grupoProdutoWebBO.listarBO();

		}catch(Exception e){
			
			e.printStackTrace();
			
			throw new Exception("ERRO: "+e.getLocalizedMessage());
			
		}

		Lifecycle.endCall();

		return lista;

	}

}

Aqui vai a parte pertinente (suponho) do cliente:


@ManagedBean(name = "testeMB")
@SessionScoped
public class Teste {


    public GrupoProdutoWeb buscaGrupoProdutosWeb(Long id) {
        
        org.jboss.samples.webservices.sigro.ProdutoWebWSService service = new org.jboss.samples.webservices.sigro.ProdutoWebWSService();
        org.jboss.samples.webservices.sigro.ProdutoWebWS port = service.getProdutoWebWSPort();
        
        try { 
            
            GrupoProdutoWeb i = port.buscaGrupoProdutosWeb((long) 1);
            
            System.out.println(l);
            
            return l;
            
        } catch (Exception_Exception ex) {
            Logger.getLogger(Teste.class.getName()).log(Level.SEVERE, null, ex);
            
        }
        
        return null;
        
    }

    public List<GrupoProdutoWeb> listaGruposProdutosWeb() {
        
        org.jboss.samples.webservices.sigro.ProdutoWebWSService service = new org.jboss.samples.webservices.sigro.ProdutoWebWSService();
        org.jboss.samples.webservices.sigro.ProdutoWebWS port = service.getProdutoWebWSPort();
        
        try { 
            
            List<GrupoProdutoWeb> l = port.listaGruposProdutosWeb();
            
            System.out.println(l);
            
            return l;
            
        } catch (Exception_Exception ex) {
            Logger.getLogger(Teste.class.getName()).log(Level.SEVERE, null, ex);
            
        }
        
        return null;
        
    }

}

/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.2.6-1b01 
 * Generated source version: 2.2
 * 
 */
@WebService(name = "ProdutoWebWS", targetNamespace = "http://sigro.webservices.samples.jboss.org/")
@XmlSeeAlso({
    ObjectFactory.class
})
public interface ProdutoWebWS {

    /**
     * 
     * @return
     *     returns java.util.List<org.jboss.samples.webservices.sigro.GrupoProdutoWeb>
     * @throws Exception_Exception
     */
    @WebMethod
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "listaGruposProdutosWeb", targetNamespace = "http://sigro.webservices.samples.jboss.org/", className = "org.jboss.samples.webservices.sigro.ListaGruposProdutosWeb")
    @ResponseWrapper(localName = "listaGruposProdutosWebResponse", targetNamespace = "http://sigro.webservices.samples.jboss.org/", className = "org.jboss.samples.webservices.sigro.ListaGruposProdutosWebResponse")
    public List<GrupoProdutoWeb> listaGruposProdutosWeb()
        throws Exception_Exception
    ;

}

Alguém teria alguma dica?

Agradeço antecipadamente.

Olá amigo,

Ao que parece vocês está enviando um parametro fora do tipo de conteudo esperado pelo serviço

vc tem um webservice soap com a api gerada pelo wsimport

no entanto você precisa verificar se seu wsdl esta sendo gerado corretamente para o metodo solicitado

vc pode ter um type bigint para a requisiçãod do metodo porem esse parametro é passado dentro do envelope da requisição soap

use o SOAPUI para testar o webservice e veja com esta sendo feito o transporte

mas verifique tambem o WSDL gerado para o client consumir os serviços

fica a dica

Como ainda sou meio cru nesse negócio de webservice, aqui está o wsdl retornado quando entro com http://localhost:8080/equipodonto_B2C/ProdutoWebWS?wsdl no navegador. Se alguém me ajudar, faço um milheiro de panfletos pro Santo Espedito. Hauhauhauhuaha!!!

Fim um teste com um novo método, retornando um List<String> e funcionou. Porém quando tento um List<GrupoProdutoWeb> tomo o erro citado.


This XML file does not appear to have any style information associated with it. The document tree is shown below.
&lt;definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://sigro.webservices.samples.jboss.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ProdutoWebWSService" targetNamespace="http://sigro.webservices.samples.jboss.org/"&gt;
&lt;types&gt;
&lt;xs:schema xmlns:tns="http://sigro.webservices.samples.jboss.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://sigro.webservices.samples.jboss.org/" version="1.0"&gt;
&lt;xs:element name="Exception" type="tns:Exception"/&gt;
&lt;xs:element name="atualizaProduto" type="tns:atualizaProduto"/&gt;
&lt;xs:element name="atualizaProdutoResponse" type="tns:atualizaProdutoResponse"/&gt;
&lt;xs:element name="buscaGrupoProdutoWeb" type="tns:buscaGrupoProdutoWeb"/&gt;
&lt;xs:element name="buscaGrupoProdutoWebResponse" type="tns:buscaGrupoProdutoWebResponse"/&gt;
&lt;xs:element name="buscaNomeProduto" type="tns:buscaNomeProduto"/&gt;
&lt;xs:element name="buscaNomeProdutoResponse" type="tns:buscaNomeProdutoResponse"/&gt;
&lt;xs:element name="listaGruposProdutosWeb" type="tns:listaGruposProdutosWeb"/&gt;
&lt;xs:element name="listaGruposProdutosWebEmArray" type="tns:listaGruposProdutosWebEmArray"/&gt;
&lt;xs:element name="listaGruposProdutosWebEmArrayResponse" type="tns:listaGruposProdutosWebEmArrayResponse"/&gt;
&lt;xs:element name="listaGruposProdutosWebEmListaDeString" type="tns:listaGruposProdutosWebEmListaDeString"/&gt;
&lt;xs:element name="listaGruposProdutosWebEmListaDeStringResponse" type="tns:listaGruposProdutosWebEmListaDeStringResponse"/&gt;
&lt;xs:element name="listaGruposProdutosWebResponse" type="tns:listaGruposProdutosWebResponse"/&gt;
&lt;xs:element name="persisteProduto" type="tns:persisteProduto"/&gt;
&lt;xs:element name="persisteProdutoResponse" type="tns:persisteProdutoResponse"/&gt;
&lt;xs:complexType name="buscaNomeProduto"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="arg0" type="xs:long"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="buscaNomeProdutoResponse"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="return" type="xs:string"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="atualizaProduto"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="arg0" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="arg1" type="xs:float"/&gt;
&lt;xs:element minOccurs="0" name="arg2" type="xs:float"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="atualizaProdutoResponse"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="return" type="xs:string"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="persisteProduto"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="arg0" type="tns:produtoWeb"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="produtoWeb"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="altura" type="xs:int"/&gt;
&lt;xs:element minOccurs="0" name="apresentacao" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="bestSeller" type="xs:boolean"/&gt;
&lt;xs:element minOccurs="0" name="codigoFabricante" type="xs:string"/&gt;
&lt;xs:element name="codigoNatureza" type="xs:int"/&gt;
&lt;xs:element minOccurs="0" name="comprimento" type="xs:int"/&gt;
&lt;xs:element minOccurs="0" name="dataLimiteOferta" type="xs:dateTime"/&gt;
&lt;xs:element minOccurs="0" name="descontoNoFrete_Percentual" type="xs:float"/&gt;
&lt;xs:element minOccurs="0" name="descontoNoFrete_quantidadeMinimaParaHabilitarDesconto" type="xs:float"/&gt;
&lt;xs:element minOccurs="0" name="descricao" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="diametro" type="xs:int"/&gt;
&lt;xs:element name="disponibilidadeEmDias" type="xs:int"/&gt;
&lt;xs:element minOccurs="0" name="estoqueAtual" type="xs:float"/&gt;
&lt;xs:element minOccurs="0" name="grupoProdutoWeb" type="tns:grupoProdutoWeb"/&gt;
&lt;xs:element minOccurs="0" name="id" type="xs:long"/&gt;
&lt;xs:element minOccurs="0" name="largura" type="xs:int"/&gt;
&lt;xs:element maxOccurs="unbounded" minOccurs="0" name="listaProdutoWebImagens" nillable="true" type="tns:produtoWebImagem"/&gt;
&lt;xs:element minOccurs="0" name="nome" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="nomeFabricante" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="nomeTipoEmbalagem" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="pesoUnitarioEmQuilos" type="xs:float"/&gt;
&lt;xs:element minOccurs="0" name="precoEfetivo" type="xs:float"/&gt;
&lt;xs:element minOccurs="0" name="precoUnitario" type="xs:float"/&gt;
&lt;xs:element minOccurs="0" name="precoUnitarioOferta" type="xs:float"/&gt;
&lt;xs:element minOccurs="0" name="registroAtivo" type="xs:boolean"/&gt;
&lt;xs:element minOccurs="0" name="registroPendente" type="xs:boolean"/&gt;
&lt;xs:element minOccurs="0" name="responsabilidadeRegistroWeb" type="tns:responsabilidadeRegistroWeb"/&gt;
&lt;xs:element minOccurs="0" name="strDimensoes" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="strVolumeCalculado" type="xs:string"/&gt;
&lt;xs:element name="tempoDeGarantiaEmMeses" type="xs:int"/&gt;
&lt;xs:element minOccurs="0" name="tipoEmbalagem" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="unidade" type="xs:string"/&gt;
&lt;xs:element name="volumeCalculado" type="xs:int"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="grupoProdutoWeb"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="id" type="xs:long"/&gt;
&lt;xs:element maxOccurs="unbounded" minOccurs="0" name="listaProdutos" nillable="true" type="tns:produtoWeb"/&gt;
&lt;xs:element minOccurs="0" name="nome" type="xs:string"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="produtoWebImagem"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="id" type="xs:long"/&gt;
&lt;xs:element minOccurs="0" name="nomeCompletoDoArquivo" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="ordemDeExibicao" type="xs:int"/&gt;
&lt;xs:element minOccurs="0" name="produtoWeb" type="tns:produtoWeb"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="responsabilidadeRegistroWeb"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="informacaoComplementar" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="nomeResponsavelPelaAlteracao" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="nomeResponsavelPelaCriacao" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="nomeResponsavelPelaSincronizacao" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="nomeResponsavelPeloCancelamento" type="xs:string"/&gt;
&lt;xs:element minOccurs="0" name="tsAlteracaoRegistro" type="xs:dateTime"/&gt;
&lt;xs:element minOccurs="0" name="tsCancelamentoRegistro" type="xs:dateTime"/&gt;
&lt;xs:element minOccurs="0" name="tsCriacaoRegistro" type="xs:dateTime"/&gt;
&lt;xs:element minOccurs="0" name="tsSincronizacaoRegistro" type="xs:dateTime"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="persisteProdutoResponse"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="return" type="xs:string"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="listaGruposProdutosWeb"&gt;
&lt;xs:sequence/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="listaGruposProdutosWebResponse"&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="tns:grupoProdutoWeb"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="Exception"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="message" type="xs:string"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="listaGruposProdutosWebEmListaDeString"&gt;
&lt;xs:sequence/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="listaGruposProdutosWebEmListaDeStringResponse"&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="xs:string"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="listaGruposProdutosWebEmArray"&gt;
&lt;xs:sequence/&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="listaGruposProdutosWebEmArrayResponse"&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="tns:grupoProdutoWeb"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="buscaGrupoProdutoWeb"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="arg0" type="xs:long"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="buscaGrupoProdutoWebResponse"&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" name="return" type="xs:string"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:complexType&gt;
&lt;/xs:schema&gt;
&lt;/types&gt;
&lt;message name="ProdutoWebWS_buscaGrupoProdutoWeb"&gt;
&lt;part element="tns:buscaGrupoProdutoWeb" name="buscaGrupoProdutoWeb"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_atualizaProdutoResponse"&gt;
&lt;part element="tns:atualizaProdutoResponse" name="atualizaProdutoResponse"/&gt;
&lt;/message&gt;
&lt;message name="Exception"&gt;
&lt;part element="tns:Exception" name="Exception"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_listaGruposProdutosWebEmArray"&gt;
&lt;part element="tns:listaGruposProdutosWebEmArray" name="listaGruposProdutosWebEmArray"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_buscaGrupoProdutoWebResponse"&gt;
&lt;part element="tns:buscaGrupoProdutoWebResponse" name="buscaGrupoProdutoWebResponse"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_listaGruposProdutosWeb"&gt;
&lt;part element="tns:listaGruposProdutosWeb" name="listaGruposProdutosWeb"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_listaGruposProdutosWebEmListaDeStringResponse"&gt;
&lt;part element="tns:listaGruposProdutosWebEmListaDeStringResponse" name="listaGruposProdutosWebEmListaDeStringResponse"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_listaGruposProdutosWebEmArrayResponse"&gt;
&lt;part element="tns:listaGruposProdutosWebEmArrayResponse" name="listaGruposProdutosWebEmArrayResponse"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_listaGruposProdutosWebEmListaDeString"&gt;
&lt;part element="tns:listaGruposProdutosWebEmListaDeString" name="listaGruposProdutosWebEmListaDeString"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_persisteProduto"&gt;
&lt;part element="tns:persisteProduto" name="persisteProduto"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_buscaNomeProduto"&gt;
&lt;part element="tns:buscaNomeProduto" name="buscaNomeProduto"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_listaGruposProdutosWebResponse"&gt;
&lt;part element="tns:listaGruposProdutosWebResponse" name="listaGruposProdutosWebResponse"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_atualizaProduto"&gt;
&lt;part element="tns:atualizaProduto" name="atualizaProduto"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_persisteProdutoResponse"&gt;
&lt;part element="tns:persisteProdutoResponse" name="persisteProdutoResponse"/&gt;
&lt;/message&gt;
&lt;message name="ProdutoWebWS_buscaNomeProdutoResponse"&gt;
&lt;part element="tns:buscaNomeProdutoResponse" name="buscaNomeProdutoResponse"/&gt;
&lt;/message&gt;
&lt;portType name="ProdutoWebWS"&gt;
&lt;operation name="atualizaProduto" parameterOrder="atualizaProduto"&gt;
&lt;input message="tns:ProdutoWebWS_atualizaProduto"/&gt;
&lt;output message="tns:ProdutoWebWS_atualizaProdutoResponse"/&gt;
&lt;/operation&gt;
&lt;operation name="buscaGrupoProdutoWeb" parameterOrder="buscaGrupoProdutoWeb"&gt;
&lt;input message="tns:ProdutoWebWS_buscaGrupoProdutoWeb"/&gt;
&lt;output message="tns:ProdutoWebWS_buscaGrupoProdutoWebResponse"/&gt;
&lt;/operation&gt;
&lt;operation name="buscaNomeProduto" parameterOrder="buscaNomeProduto"&gt;
&lt;input message="tns:ProdutoWebWS_buscaNomeProduto"/&gt;
&lt;output message="tns:ProdutoWebWS_buscaNomeProdutoResponse"/&gt;
&lt;/operation&gt;
&lt;operation name="listaGruposProdutosWeb" parameterOrder="listaGruposProdutosWeb"&gt;
&lt;input message="tns:ProdutoWebWS_listaGruposProdutosWeb"/&gt;
&lt;output message="tns:ProdutoWebWS_listaGruposProdutosWebResponse"/&gt;
&lt;fault message="tns:Exception" name="Exception"/&gt;
&lt;/operation&gt;
&lt;operation name="listaGruposProdutosWebEmArray" parameterOrder="listaGruposProdutosWebEmArray"&gt;
&lt;input message="tns:ProdutoWebWS_listaGruposProdutosWebEmArray"/&gt;
&lt;output message="tns:ProdutoWebWS_listaGruposProdutosWebEmArrayResponse"/&gt;
&lt;fault message="tns:Exception" name="Exception"/&gt;
&lt;/operation&gt;
&lt;operation name="listaGruposProdutosWebEmListaDeString" parameterOrder="listaGruposProdutosWebEmListaDeString"&gt;
&lt;input message="tns:ProdutoWebWS_listaGruposProdutosWebEmListaDeString"/&gt;
&lt;output message="tns:ProdutoWebWS_listaGruposProdutosWebEmListaDeStringResponse"/&gt;
&lt;fault message="tns:Exception" name="Exception"/&gt;
&lt;/operation&gt;
&lt;operation name="persisteProduto" parameterOrder="persisteProduto"&gt;
&lt;input message="tns:ProdutoWebWS_persisteProduto"/&gt;
&lt;output message="tns:ProdutoWebWS_persisteProdutoResponse"/&gt;
&lt;/operation&gt;
&lt;/portType&gt;
&lt;binding name="ProdutoWebWSBinding" type="tns:ProdutoWebWS"&gt;
&lt;soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/&gt;
&lt;operation name="atualizaProduto"&gt;
&lt;soap:operation soapAction=""/&gt;
&lt;input&gt;
&lt;soap:body use="literal"/&gt;
&lt;/input&gt;
&lt;output&gt;
&lt;soap:body use="literal"/&gt;
&lt;/output&gt;
&lt;/operation&gt;
&lt;operation name="buscaGrupoProdutoWeb"&gt;
&lt;soap:operation soapAction=""/&gt;
&lt;input&gt;
&lt;soap:body use="literal"/&gt;
&lt;/input&gt;
&lt;output&gt;
&lt;soap:body use="literal"/&gt;
&lt;/output&gt;
&lt;/operation&gt;
&lt;operation name="buscaNomeProduto"&gt;
&lt;soap:operation soapAction=""/&gt;
&lt;input&gt;
&lt;soap:body use="literal"/&gt;
&lt;/input&gt;
&lt;output&gt;
&lt;soap:body use="literal"/&gt;
&lt;/output&gt;
&lt;/operation&gt;
&lt;operation name="listaGruposProdutosWeb"&gt;
&lt;soap:operation soapAction=""/&gt;
&lt;input&gt;
&lt;soap:body use="literal"/&gt;
&lt;/input&gt;
&lt;output&gt;
&lt;soap:body use="literal"/&gt;
&lt;/output&gt;
&lt;fault name="Exception"&gt;
&lt;soap:fault name="Exception" use="literal"/&gt;
&lt;/fault&gt;
&lt;/operation&gt;
&lt;operation name="listaGruposProdutosWebEmArray"&gt;
&lt;soap:operation soapAction=""/&gt;
&lt;input&gt;
&lt;soap:body use="literal"/&gt;
&lt;/input&gt;
&lt;output&gt;
&lt;soap:body use="literal"/&gt;
&lt;/output&gt;
&lt;fault name="Exception"&gt;
&lt;soap:fault name="Exception" use="literal"/&gt;
&lt;/fault&gt;
&lt;/operation&gt;
&lt;operation name="listaGruposProdutosWebEmListaDeString"&gt;
&lt;soap:operation soapAction=""/&gt;
&lt;input&gt;
&lt;soap:body use="literal"/&gt;
&lt;/input&gt;
&lt;output&gt;
&lt;soap:body use="literal"/&gt;
&lt;/output&gt;
&lt;fault name="Exception"&gt;
&lt;soap:fault name="Exception" use="literal"/&gt;
&lt;/fault&gt;
&lt;/operation&gt;
&lt;operation name="persisteProduto"&gt;
&lt;soap:operation soapAction=""/&gt;
&lt;input&gt;
&lt;soap:body use="literal"/&gt;
&lt;/input&gt;
&lt;output&gt;
&lt;soap:body use="literal"/&gt;
&lt;/output&gt;
&lt;/operation&gt;
&lt;/binding&gt;
&lt;service name="ProdutoWebWSService"&gt;
&lt;port binding="tns:ProdutoWebWSBinding" name="ProdutoWebWSPort"&gt;
&lt;soap:address location="http://localhost:8080/equipodonto_B2C/ProdutoWebWS"/&gt;
&lt;/port&gt;
&lt;/service&gt;
&lt;/definitions&gt;