#
# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

# Usage not found. TODO Remove
#webserviceap.nestedModelError=modeler error: {0}
webserviceap.fileNotFound=erro: arquivo n\u00E3o encontrado: {0}
webserviceap.error=erro: {0}
webserviceap.warning=advert\u00EAncia: {0}
webserviceap.info=informa\u00E7\u00F5es: {0}
webserviceap.compilationFailed=falha na compila\u00E7\u00E3o, os erros foram reportados
webserviceap.succeeded: Bem-Sucedido

webserviceap.method.not.annotated=O m\u00E9todo {0} na classe {1} n\u00E3o \u00E9 anotada.
webserviceap.rpc.encoded.not.supported=A classe {0} tem SOAPBinding rpc/codificado. SOAPBindings Rpc/codificado n\u00E3o suportados no JAXWS 2.0.
webservice.encoded.not.supported=A classe {0} tem anota\u00E7\u00E3o SOAPBinding. {1}/SOAPBinding codificado n\u00E3o suportada
webserviceap.model.already.exists=o modelo j\u00E1 existe
webserviceap.endpointinterface.on.interface=Interface do ponto final de servi\u00E7o\: {0} n\u00E3o pode ter uma anota\u00E7\u00E3o\: {1} WebService.endpointInterface
webserviceap.java.typeNotFound=O tipo: {0} n\u00E3o foi encontrado no mapeamento
webserviceap.endpointinterfaces.do.not.match=A interface {0} do ponto final n\u00E3o corresponde \u00E0 interface {1}.

# {0} - class name, {1} - number e.g.: Could not get TypeDeclaration for: foo.Bar in apt round: 2
webserviceap.could.not.find.typedecl=N\u00E3o foi poss\u00EDvel obter o TypeElement para:\ {0} no arredondamento do processamento da anota\u00E7\u00E3o:\ {1}

webserviceap.no.webservice.endpoint.found=N\u00E3o foi poss\u00EDvel encontrar um ponto final de web service

webserviceap.endpointinterface.has.no.webservice.annotation=A interface {0} do ponto final deve ter uma anota\u00E7\u00E3o WebService

webserviceap.oneway.operation.cannot.have.return.type=O m\u00E9todo {1} da classe {0} \u00E9 @Oneway anotado, mas tem um tipo de retorno.

webserviceap.oneway.operation.cannot.have.holders=O m\u00E9todo {1} da classe {0} \u00E9 @Oneway anotado, mas cont\u00E9m os par\u00E2metros INOUT ou OUT (javax.xml.ws.Holder)

webserviceap.oneway.operation.cannot.declare.exceptions=O m\u00E9todo {1} da classe {0} \u00E9 @Oneway anotado, mas declara a exce\u00E7\u00E3o {2}

webserviceap.cannot.combine.handlerchain.soapmessagehandlers=Voc\u00EA n\u00E3o pode especificar as anota\u00E7\u00F5es HanlderChain e SOAPMessageHandlers

webserviceap.invalid.handlerchain.file.nohandler-config=O arquivo {0} handlerchain \u00E9 inv\u00E1lido, ele n\u00E3o cont\u00E9m um elemento de configura\u00E7\u00E3o de handler

webserviceap.could.not.find.handlerchain=N\u00E3o foi poss\u00EDvel localizar o handlerchain {0} no arquivo {1} de handler

webserviceap.handlerclass.notspecified=Um handler no arquivo HandlerChain file\: {0} n\u00E3o especifica uma classe de handler

webserviceap.init_param.format.error=um elemento <init-param> deve ter exatamente 1 <param-name> e 1 <param-value>

webserviceap.document.literal.bare.method.return.not.unique=Os m\u00E9todos bare de documento/literal devem ter uma combina\u00E7\u00E3o de tipo de retorno do nome do resultado. Classe {0} m\u00E9todo\: {1}, nome do resultado\: {2} tipo de retorno\\: {3}

webserviceap.document.literal.bare.method.not.unique=Os m\u00E9todos bare de documento\\literal devem ter nomes de par\u00E2metro exclusivos. Classe\\: {0} m\u00E9todo\\: {1} nome do par\u00E2metro\\: {2}

webserviceap.document.literal.bare.cannot.have.more.than.one.out=Os m\u00E9todos bare de documento\\literal devem ter um valor de retorno ou um par\u00E2metro out. Classe\\: {0} M\u00E9todo\\: {1}

webserviceap.document.literal.bare.must.have.only.one.in.parameter=Os m\u00E9todos bare de documento\\literal n\u00E3o devem ter mais de 1 sem cabe\u00E7alho no par\u00E2metro. Classe\\: {0} m\u00E9todo\\: {1} n\u00FAmero de par\u00E2metros sem cabe\u00E7alho\\: {2}

webserviceap.document.literal.bare.must.have.one.in.or.out=Os m\u00E9todos bare de documento\\literal devem ter pelo menos um valor de: um retorno, um par\u00E2metro in ou um par\u00E2metro out. Classe\\: {0} M\u00E9todo\\: {1}

webserviceap.holder.parameters.must.not.be.in.only=os par\u00E2metros javax.xml.ws.Holder n\u00E3o devem ser anotados com a propriedade WebParam.Mode.IN.  Classe\: {0} m\u00E9todo\: {1} par\u00E2metro\: {2}

webserviceap.document.bare.holder.parameters.must.not.be.inout=os par\u00E2metros javax.xml.ws.Holder nas opera\u00E7\u00F5es-base do documento devem ser WebParam.Mode.INOUT;  Classe\\: {0} m\u00E9todo\\: {1} par\u00E2metro\\: {2}

webserviceap.endpointinterface.class.not.found=N\u00E3o foi poss\u00EDvel encontrar a classe {0} endpointInterface

webserviceap.sei.cannot.contain.constant.values=Uma interface de ponto final de servi\u00E7o n\u00E3o pode conter uma declara\u00E7\u00E3o de constante\: Interface\: {0} campo\: {1}.

webserviceap.method.return.type.cannot.implement.remote=Os tipos de retorno do m\u00E9todo n\u00E3o podem implementar java.rmi.Remote. Classe\\: {0} m\u00E9todo\\: {1} tipo de retorno\\: {2}

webserviceap.method.parameter.types.cannot.implement.remote=Os tipos de par\u00E2metro do m\u00E9todo n\u00E3o podem implementar java.rmi.Remote.  Classe\: {0} m\u00E9todo\: {1} par\u00E2metro\: {2} tipo\: {3}

webserviceap.operation.name.not.unique=Os nomes da opera\u00E7\u00E3o devem ser exclusivos.  Classe\: {0} m\u00E9todo\: {1} nome da opera\u00E7\u00E3o\: {2}

webserviceap.method.request.wrapper.bean.name.not.unique=Os nomes do bean do wrapper da solicita\u00E7\u00E3o devem ser exclusivos e n\u00E3o devem estar em conflito com outras classes geradas. Classe\\: {0} m\u00E9todo {1}

webserviceap.method.response.wrapper.bean.name.not.unique=Os nomes do bean do wrapper de resposta devem ser exclusivos e n\u00E3o devem estar em conflito com outras classes geradas. Classe\\: {0} m\u00E9todo {1}

webserviceap.method.exception.bean.name.not.unique=Os nomes do bean de exce\u00E7\u00E3o devem ser exclusivos e n\u00E3o devem estar em conflito com outras classes geradas. Classe\: {0} exce\u00E7\u00E3o {1}

webserviceap.rpc.literal.parameters.must.have.webparam=Todos os par\u00E2metros de literal de RPC devem ter uma anota\u00E7\u00E3o WebParam. Classe\\: {0} m\u00E9todo\\: {1} par\u00E2metro {2}

webserviceap.rpc.literal.webparams.must.specify.name=Todos os WebParams de literal de RPC devem especificar um nome. Classe\\: {0} m\u00E9todo {1} par\u00E2metro {2}

webserviceap.rpc.literal.must.not.be.bare=SOAPBindings de literal de RPC devem ter parameterStyle WRAPPED. Classe\\: {0}.

webserviceap.header.parameters.must.have.webparam.name=Todas as anota\u00E7\u00F5es de WebParam nos par\u00E2metros do cabe\u00E7alho devem especificar um nome. Classe\\: {0} m\u00E9todo {1} par\u00E2metro {2}

webserviceap.failed.to.find.handlerchain.file=N\u00E3o \u00E9 poss\u00EDvel localizar o arquivo HandlerChain. classe\\: {0}, arquivo:\\ {1}

webserviceap.failed.to.parse.handlerchain.file=Falha ao fazer parse do arquivo HandlerChain. Classe\: {0}, arquivo\: {1}

webserviceap.class.not.found=Classe N\u00E3o Encontrada: {0}

webserviceap.rpc.soapbinding.not.allowed.on.method=As anota\u00E7\u00F5es de bind de SOAPBinding.Style.RPC n\u00E3o s\u00E3o permitidas nos m\u00E9todos. Classe\: {0} M\u00E9todo\: {1}

webserviceap.mixed.binding.style=A Classe\\: {0} cont\u00E9m binds mistos. SOAPBinding.Style.RPC e SOAPBinding.Style.DOCUMENT n\u00E3o podem ser mistos.

webserviceap.endpointinteface.plus.annotation=A anota\u00E7\u00E3o @{0} n\u00E3o pode ser usada com o elemento @javax.jws.WebService.endpointInterface.

webserviceap.endpointinteface.plus.element=O elemento @javax.jws.WebService.{0} n\u00E3o pode ser usado com o elemento @javax.jws.WebService.endpointInterface.

webserviceap.non.in.parameters.must.be.holder=Classe:\ {0}, m\u00E9todo: {1}, par\u00E2metro: {2} n\u00E3o \u00E9 WebParam.Mode.IN e n\u00E3o \u00E9 do tipo javax.xml.ws.Holder.

webserviceap.invalid.sei.annotation.element=O elemento @javax.jws.WebService.{0} n\u00E3o pode ser especificado em uma interface do ponto final de servi\u00E7o. Classe\: {1}

webserviceap.invalid.sei.annotation=A anota\u00E7\u00E3o @{0} n\u00E3o pode ser usada em uma interface do ponto final de servi\u00E7o. Classe\: {1}

webserviceap.invalid.sei.annotation.element.exclude=O @javax.jws.WebMethod({0}) n\u00E3o pode ser usado em uma interface do ponto final de servi\u00E7o. Classe\: {1} m\u00E9todo\: {2}

webserviceap.invalid.webmethod.element.with.exclude=O elemento @javax.jws.WebMethod.{0} n\u00E3o pode ser especificado com o elemento @javax.jws.WebMethod.exclude. Classe\\: {1} m\u00E9todo\\: {2}

webserviceap.doc.bare.no.out=Os m\u00E9todos bare de documento/literal sem tipo de retorno ou par\u00E2metros OUT/INOUT devem ser anotados como @Oneway. Classe\\: {0}, m\u00E9todo: {1}
webserviceap.doc.bare.return.and.out=Os m\u00E9todos bare de documento/literal n\u00E3o podem ter um tipo de retorno e par\u00E2metros out. Classe\\: {0}, m\u00E9todo: {1}
webserviceap.oneway.and.out=Os m\u00E9todos @Oneway n\u00E3o podem ter par\u00E2metros out. Classe\\: {0} m\u00E9todo {1}

webserviceap.webservice.class.not.public=As classes anotadas com @javax.jws.WebService deve ser p\u00FAblicas. Classe\: {0}

webserviceap.webservice.class.is.final=As classes anotadas com @javax.jws.WebService n\u00E3o devem ser finais. Classe\: {0}

webserviceap.webservice.class.is.abstract=As classe anotadas com @javax.jws.WebService n\u00E3o devem ser abstratas. Classe\: {0}

webserviceap.webservice.class.is.innerclass.not.static=As classes internas anotadas com @javax.jws.WebService devem ser est\u00E1ticas. Classe\: {0}

webserviceap.webservice.method.is.abstract=As classes anotadas com @javax.jws.WebService n\u00E3o devem ter m\u00E9todos abstratos. Classe\: {0} M\u00E9todos: {1}

webserviceap.webservice.method.is.static.or.final=O m\u00E9todo anotado com @javax.jws.WebMethod n\u00E3o deve ser est\u00E1tico ou final. Classe\: {0} M\u00E9todo: {1}

#webserviceap.doc.bare.return.and.out=Document literal bare methods must not have a return value and an OUT/INOUT parameter.  Class\: {0} Method\: {1}

webserviceap.webservice.no.default.constructor=As classes anotadas com @javax.jws.WebService devem ter um construtor default p\u00FAblico. Classe\: {0}

webserviceap.oneway.and.not.one.in=Os m\u00E9todos bare de documento/literal anotados com @javax.jws.Oneway devem ter um par\u00E2metro IN sem cabe\u00E7alho. Classe\\: {0} M\u00E9todo\\: {1}

webserviceap.doc.bare.no.return.and.no.out=Os m\u00E9todos bare de documento/literal que n\u00E3o t\u00EAm um valor de retorno devem ter um par\u00E2metro OUT/INOUT. Classe\\: {0} M\u00E9todo\\: {1}

webserviceap.doc.bare.and.no.one.in=Os m\u00E9todos bare de documento/literal anotados com @javax.jws.Oneway devem ter um par\u00E2metro IN/INOU sem cabe\u00E7alho. Classe\\: {0} M\u00E9todo\\: {1}

webserviceap.method.not.implemented=Os m\u00E9todos na endpointInterface devem ser implementadas na classe de implementa\u00E7\u00E3o. Classe da Interface\:{0} Classe de Implementa\u00E7\u00E3o\:{1} M\u00E9todo\: {2}

webserviceap.no.package.class.must.have.targetnamespace=As classes anotadas de @javax.jws.Webservice que n\u00E3o pertencem a um pacote devem ter o elemento @javax.jws.Webservice.targetNamespace. Classe\: {0}

webserviceap.webservice.and.webserviceprovider=As classes n\u00E3o podem ser anotadas com @javax.jws.WebService e @javax.xml.ws.WebServiceProvider. Classe\: {0}

webserviceap.invalid.soapbinding.parameterstyle= Uso incorreto da Anota\u00E7\u00E3o {0} em {1}, o ParameterStyle s\u00F3 pode ser WRAPPED com o Web service de Estilo de RPC.
