#
# 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.
#

# general
# Wrapped into an Exception. {0} - localizable exception message of another exception
modeler.nestedModelError=erreur de modeleur : {0}


# WSDLModeler
# Usage not found. TODO Remove
#wsdlmodeler.multipleOutputParameters=multiple \"out\" parameters in operation: {0}
wsdlmodeler.invalidOperation=op\u00E9ration non valide : {0}
wsdlmodeler.invalidState.modelingOperation=\u00E9tat non valide lors de la mod\u00E9lisation de l''op\u00E9ration : {0}
wsdlmodeler.resultIsInOutParameter=le r\u00E9sultat est le param\u00E8tre \"inout\" dans l''op\u00E9ration : {0}
wsdlmodeler.invalid.parameterorder.parameter=\"{0}\" indiqu\u00E9 dans l''attribut parameterOrder de l''op\u00E9ration \"{1}\" n''est pas une partie valide du message.
wsdlmodeler.invalid.parameterOrder.tooManyUnmentionedParts=plusieurs \u00E9l\u00E9ments PART n''ont pas \u00E9t\u00E9 indiqu\u00E9s dans l''attribut parameterOrder de l''op\u00E9ration \"{0}\"
wsdlmodeler.invalid.parameterOrder.invalidParameterOrder=L''attribut parameterOrder sur l''op\u00E9ration \"{0}\" n''est pas valide, non-prise en compte du conseil parameterOrder
wsdlmodeler.invalid.parameter.differentTypes=le param\u00E8tre \"{0}\" de l''op\u00E9ration \"{1}\" comporte des types diff\u00E9rents dans les messages d''entr\u00E9e et de sortie
wsdlmodeler.invalid.bindingOperation.notInPortType=dans le binding \"{1}\", l''op\u00E9ration \"{0}\" n''appara\u00EEt pas dans le type de port correspondant
# Not concatenated with any other string.
wsdlmodeler.invalid.bindingOperation.inputMissingSoapBody=le message d''entr\u00E9e de l''op\u00E9ration bind \"{0}\" ne comporte pas d''extension de corps SOAP
# Not concatenated with any other string.
wsdlmodeler.invalid.bindingOperation.outputMissingSoapBody=le message de sortie de l''op\u00E9ration bind \"{0}\" ne comporte pas d''extension de corps SOAP
# Not concatenated with any other string.
wsdlmodeler.invalid.bindingOperation.missingInputName=l''op\u00E9ration de binding \"{0}\" doit indiquer un nom pour son message d''entr\u00E9e
# Not concatenated with any other string.
wsdlmodeler.invalid.bindingOperation.missingOutputName=l''op\u00E9ration de binding \"{0}\" doit indiquer un nom pour son message de sortie
wsdlmodeler.invalid.bindingOperation.multipleMatchingOperations=dans le binding \"{1}\", l''op\u00E9ration \"{0}\" ne r\u00E9f\u00E9rence pas une op\u00E9ration unique dans le type de port correspondant
wsdlmodeler.invalid.bindingOperation.notFound=dans le binding \"{1}\", l''op\u00E9ration \"{0}\" ne correspond \u00E0 aucune op\u00E9ration dans le type de port correspondant
# Not concatenated with any other string.
wsdlmodeler.invalid.bindingOperation.inputSoapBody.missingNamespace=le message d''entr\u00E9e de l''op\u00E9ration bind \"{0}\" doit indiquer une valeur pour l''attribut \"namespace\"
# Not concatenated with any other string.
wsdlmodeler.invalid.bindingOperation.outputSoapBody.missingNamespace=le message de sortie de l''op\u00E9ration bind \"{0}\" doit indiquer une valeur pour l''attribut \"namespace\"
wsdlmodeler.invalid.bindingOperation.inputHeader.missingNamespace=l''en-t\u00EAte d''entr\u00E9e \"{1}\" de l''op\u00E9ration de binding \"{0}\" doit indiquer une valeur pour l''attribut \"namespace\"
wsdlmodeler.invalid.bindingOperation.outputHeader.missingNamespace=l''en-t\u00EAte de sortie \"{1}\" de l''op\u00E9ration de binding \"{0}\" doit indiquer une valeur pour l''attribut \"namespace\"
# Not concatenated with any other string.
wsdlmodeler.invalid.bindingFault.notUnique=l''erreur \"{0}\" dans l''op\u00E9ration \"{1}\" concorde avec plus d''une erreur dans l''op\u00E9ration de type port correspondant
# Not concatenated with any other string.
wsdlmodeler.invalid.bindingFault.notFound=l''erreur \"{0}\" dans l''op\u00E9ration \"{1}\" ne concorde avec aucune erreur dans l''op\u00E9ration de type port correspondant
# Not concatenated with any other string.
wsdlmodeler.invalid.portTypeFault.notFound=l''erreur \"{0}\" dans l''op\u00E9ration portType \"{1}\" ne concorde avec aucune erreur dans l''op\u00E9ration de binding correspondant
# Not concatenated with any other string.
wsdlmodeler.invalid.bindingFault.outputMissingSoapFault=l''erreur \"{0}\" dans l''op\u00E9ration \"{1}\" ne comporte pas d''extension d''erreur SOAP
# Not concatenated with any other string.
wsdlmodeler.invalid.bindingFault.missingName=l''erreur \"{0}\" dans l''op\u00E9ration \"{1}\" doit indiquer une valeur pour l''attribut \"name\"
# Not concatenated with any other string.
wsdlmodeler.invalid.bindingFault.missingNamespace=l''erreur \"{0}\" dans l''op\u00E9ration \"{1}\" doit indiquer une valeur pour l''attribut \"namespace\"
wsdlmodeler.invalid.bindingFault.emptyMessage=l''erreur \"{0}\" fait r\u00E9f\u00E9rence au message \"{1}\", mais celui-ci ne comporte pas d''\u00E9l\u00E9ment PART
wsdlmodeler.invalid.bindingFault.messageHasMoreThanOnePart=l''erreur \"{0}\" fait r\u00E9f\u00E9rence au message \"{1}\", mais celui-ci comporte plus d''un \u00E9l\u00E9ment PART
# Usage not found. TODO Remove
#wsdlmodeler.invalid.message.partMustHaveTypeDescriptor=in message \"{0}\", part \"{1}\" must specify a \"type\" attribute
# Not concatenated with any other string.
wsdlmodeler.invalid.message.partMustHaveElementDescriptor=dans le message \"{0}\", la partie \"{1}\" doit indiquer un attribut \"element\"
# Usage not found. TODO Remove
#wsdlmodeler.invalid=invalid WSDL document
wsdlmodeler.unsolvableNamingConflicts=les conflits de d\u00E9nomination suivants sont survenus : {0}
#
wsdlmodeler.warning.ignoringUnrecognizedSchemaExtension=non-prise en compte de l''\u00E9l\u00E9ment de sch\u00E9ma (version non prise en charge) : {0}
wsdlmodeler.warning.searchSchema.unrecognizedTypes={0} types non reconnus d\u00E9tect\u00E9s
wsdlmodeler.warning.noServiceDefinitionsFound=Le document WSDL ne d\u00E9finit aucun service
wsdlmodeler.warning.noPortsInService=Le service \"{0}\" ne contient aucun port utilisable. Essayez d''utiliser wsimport avec le commutateur -extension.
wsdlmodeler.warning.noOperationsInPort=Le port \"{0}\" ne contient aucune op\u00E9ration utilisable
wsdlmodeler.warning.ignoringNonSOAPPort=non-prise en compte du port \"{0}\" : il ne s''agit pas d''un port SOAP standard. Essayez d''ex\u00E9cuter wsimport avec le commutateur -extension.
# Not concatenated with any other string.
wsdlmodeler.warning.nonSOAPPort=port \"{0}\" : il ne s''agit pas d''un port SOAP standard. Les artefacts g\u00E9n\u00E9r\u00E9s peuvent ne pas fonctionner avec l''ex\u00E9cution JAX-WS.
wsdlmodeler.warning.ignoringNonSOAPPort.noAddress=non-prise en compte du port \"{0}\" : aucune adresse SOAP indiqu\u00E9e. Essayez d''ex\u00E9cuter wsimport avec le commutateur -extension.
# Not concatenated with any other string.
wsdlmodeler.warning.noSOAPAddress=Le port \"{0}\" n''est pas un port SOAP, il n''a aucun \u00E9l\u00E9ment soap:address
wsdlmodeler.warning.ignoringSOAPBinding.nonHTTPTransport:non-prise en compte du port SOAP \"{0}\" : transport non reconnu. Essayez d''ex\u00E9cuter wsimport avec le commutateur -extension.

#BP1.1 R2705
wsdlmodeler.warning.ignoringSOAPBinding.mixedStyle=non-prise en compte du port \"{0}\", il n''est pas conforme \u00E0 WS-I BP 1.1 : le binding WSDL a un style mixte, il doit s''agir d''une op\u00E9ration rpc-literal ou document-literal. Essayez d''ex\u00E9cuter wsimport avec le commutateur -extension.
# Not concatenated with any other string.
wsdlmodeler.warning.port.SOAPBinding.mixedStyle=n''est pas un port SOAP conforme \u00E0 WS-I BP1.1 \"{0}\" : le binding WSDL comporte un environnement mixte, il doit s''agir d''une op\u00E9ration rpc-literal ou document-literal.

wsdlmodeler.warning.ignoringOperation.notSupportedStyle=non-prise en compte de l''op\u00E9ration \"{0}\" : le type n''est pas request-response ou one-way
wsdlmodeler.invalid.operation.notSupportedStyle=WSDL non valide, wsdl:operation \"{0}\" dans wsdl:portType \"{1}\" : n''est pas de type request-response ou one-way
wsdlmodeler.warning.ignoringOperation.notEncoded=non-prise en compte de l''op\u00E9ration RPC-style \"{0}\" : les param\u00E8tres ne sont pas encod\u00E9s
wsdlmodeler.warning.ignoringOperation.cannotHandleBodyPartsAttribute=non-prise en compte de l''op\u00E9ration \"{0}\" : impossible de g\u00E9rer l''attribut \"parts\" de l''\u00E9l\u00E9ment \"soap:body\"

wsdlmodeler.warning.ignoringOperation.cannotHandleTypeMessagePart=non-prise en compte de l''op\u00E9ration \"{0}\" : la partie message ne fait pas r\u00E9f\u00E9rence \u00E0 une d\u00E9claration d''\u00E9l\u00E9ment de sch\u00E9ma
wsdlmodeler.invalid.doclitoperation=wsdl:operation \"{0}\" non valide : il s''agit d''une op\u00E9ration document-literal, la partie message doit faire r\u00E9f\u00E9rence \u00E0 une d\u00E9claration d''\u00E9l\u00E9ment de sch\u00E9ma

wsdlmodeler.warning.ignoringOperation.cannotHandleElementMessagePart=non-prise en compte de l''op\u00E9ration \"{0}\" : la partie message ne fait pas r\u00E9f\u00E9rence \u00E0 une d\u00E9claration de type de sch\u00E9ma
wsdlmodeler.invalid.rpclitoperation=wsdl:operation \"{0}\"non valide : il s''agit d''une op\u00E9ration rpc-literal, la partie message doit faire r\u00E9f\u00E9rence \u00E0 une d\u00E9claration de type de sch\u00E9ma


wsdlmodeler.warning.ignoringOperation.cannotHandleDocumentStyle=non-prise en compte de l''op\u00E9ration \"{0}\" : impossible de g\u00E9rer les op\u00E9rations document-style
wsdlmodeler.warning.bindingOperation.multiplePartBinding=V\u00E9rifiez le binding \"{0}\" de l''op\u00E9ration abstract, la partie \"{1}\" a un binding multiple. Le syst\u00E8me essaiera tout de m\u00EAme de g\u00E9n\u00E9rer des artefacts...
wsdlmodeler.invalid.bindingOperation.multiplePartBinding=binding \"{0}\" de l''op\u00E9ration abstract, la partie \"{1}\" a un binding multiple.
wsdlmodeler.warning.ignoringFaults=non-prise en compte des erreurs d\u00E9clar\u00E9es par l''op\u00E9ration \"{0}\"
wsdlmodeler.warning.ignoringFault.notEncoded=non-prise en compte de l''erreur de type literal \"{0}\" de l''op\u00E9ration de binding \"{1}\"
wsdlmodeler.warning.ignoringFault.notLiteral=non-prise en compte de l''erreur de type encoded \"{0}\" de l''op\u00E9ration de binding \"{1}\"
wsdlmodeler.invalid.operation.fault.notLiteral=non-prise en compte de l''erreur de type encoded \"{0}\" dans l''op\u00E9ration de binding de type literal \"{1}\"
wsdlmodeler.warning.ignoringHeader=non-prise en compte de l''en-t\u00EAte \"{0}\" de l''op\u00E9ration de binding \"{1}\"
wsdlmodeler.warning.ignoringHeader.partFromBody=partie d''en-t\u00EAte \"{0}\" d\u00E9j\u00E0 li\u00E9e par soapbind:body, la partie ne peut pas \u00EAtre li\u00E9e deux fois
wsdlmodeler.warning.ignoringHeader.notLiteral=non-prise en compte de l''en-t\u00EAte \"{0}\" de l''op\u00E9ration bind \"{1}\" : le type n''est pas literal
wsdlmodeler.invalid.header.notLiteral=en-t\u00EAte \"{0}\" non valide de l''op\u00E9ration de binding \"{1}\" : le type n''est pas literal
wsdlmodeler.warning.ignoringHeader.notFound=non-prise en compte de l''en-t\u00EAte \"{0}\" de l''op\u00E9ration de binding \"{1}\" : introuvable
# Not concatenated with any other string.
wsdlmodeler.invalid.header.notFound=en-t\u00EAte \"{0}\" de l''op\u00E9ration de binding \"{1}\" : introuvable
wsdlmodeler.warning.ignoringHeader.cant.resolve.message=non-prise en compte de l''en-t\u00EAte \"{0}\" de l''op\u00E9ration de binding \"{1}\" : impossible de r\u00E9soudre le message
# Not concatenated with any other string.
wsdlmodeler.invalid.header.cant.resolve.message=en-t\u00EAte \"{0}\" de l''op\u00E9ration de binding \"{1}\" : impossible de r\u00E9soudre le message

wsdlmodeler.warning.ignoringFault.cant.resolve.message=non-prise en compte de l''erreur \"{0}\" de l''op\u00E9ration de binding \"{1}\" : impossible de r\u00E9soudre le message
wsdlmodeler.invalid.fault.cant.resolve.message=le message d''erreur \"{0}\" dans l''op\u00E9ration de binding \"{1}\" n''a pas pu \u00EAtre r\u00E9solu

wsdlmodeler.warning.ignoringHeader.notEncoded=non-prise en compte de l''en-t\u00EAte \"{0}\" de l''op\u00E9ration bind \"{1}\" : le type n''est pas SOAP-encoded
wsdlmodeler.warning.ignoringHeader.inconsistentDefinition=non-prise en compte de l''en-t\u00EAte \"{0}\" de l''op\u00E9ration \"{1}\" : partie introuvable
#
wsdlmodeler.warning.ignoringOperation.notLiteral=non-prise en compte de l''op\u00E9ration document-style \"{0}\" : les param\u00E8tres ne sont pas de type literal
wsdlmodeler.warning.ignoringOperation.cannotHandleMoreThanOnePartInInputMessage=non-prise en compte de l''op\u00E9ration \"{0}\" : plusieurs parties dans le message d''entr\u00E9e
wsdlmodeler.warning.ignoringOperation.cannotHandleEmptyInputMessage=non-prise en compte de l''op\u00E9ration \"{0}\" : le message d''entr\u00E9e est vide
wsdlmodeler.warning.ignoringOperation.cannotHandleMoreThanOnePartInOutputMessage=non-prise en compte de l''op\u00E9ration \"{0}\" : plusieurs parties dans le message de sortie
wsdlmodeler.warning.operation.MoreThanOnePartInMessage=non-prise en compte de l''op\u00E9ration \"{0}\" : plusieurs parties li\u00E9es au corps
# Not concatenated with any other string.
wsdlmodeler.invalid.operation.MoreThanOnePartInMessage=op\u00E9ration \"{0}\" : plusieurs parties li\u00E9es au corps
wsdlmodeler.warning.ignoringOperation.cannotHandleEmptyOutputMessage=non-prise en compte de l''op\u00E9ration \"{0}\" : le message de sortie est vide
wsdlmodeler.warning.ignoringOperation.conflictStyleInWSIMode=non-prise en compte de l''op\u00E9ration \"{0}\" : style de binding et style d''op\u00E9ration en conflit
wsdlmodeler.warning.ignoringOperation.partNotFound=non-prise en compte de l''op\u00E9ration \"{0}\" : partie \"{1}\" introuvable
wsdlmodeler.error.partNotFound=la partie \"{1}\" de l''op\u00E9ration \"{0}\" n''a pas pu \u00EAtre r\u00E9solue.
wsdlmodeler.warning.ignoringFault.documentOperation=non-prise en compte de l''erreur \"{0}\" de l''op\u00E9ration document-style \"{1}\"
wsdlmodler.warning.operation.use=Le WSDL utilis\u00E9 comporte des op\u00E9rations avec utilisation de type literal et encoded. -f:searchschema n'est pas pris en charge pour ce sc\u00E9nario.
#wsdlmodeler.invalid.bindingFault.wrongSoapFaultName=The name of the SOAP fault extension does not match the name of the \"{0}\" fault in operation \"{1}\"
wsdlmodeler.invalid.bindingFault.wrongSoapFaultName=le nom de soap:fault \"{0}\" ne correspond pas au nom de wsdl:fault \"{1}\" dans l''op\u00E9ration \"{2}\"
#wsdlmodeler.invalid.bindingFault.noSoapFaultName=The name of the SOAP fault extension is missing from the fault \"{0}\" in operation \"{1}\"
wsdlmodeler.invalid.bindingFault.noSoapFaultName=nom soap:fault non indiqu\u00E9, wsdl:fault \"{0}\" dans l''op\u00E9ration \"{1}\"

wsdlmodeler.duplicate.fault.part.name=non-prise en compte de l''erreur \"{0}\" de l''op\u00E9ration \"{1}\" : le nom d''\u00E9l\u00E9ment PART \"{2}\" n''est pas unique
wsdlmodeler.duplicate.fault.soap.name=non-prise en compte de l''erreur \"{0}\" de l''op\u00E9ration \"{1}\" : le nom soap:fault \"{2}\" n''est pas unique

wsdlmodeler.warning.ignoringHeaderFault.notFound=non-prise en compte de l''\u00E9l\u00E9ment headerfault \"{0}\", partie \"{1}\" introuvable dans le binding \"{2}\"
# Usage not found. TODO Remove
#wsdlmodeler.headerfault.part.notFound=part \"{1}\" not found for the header fault \"{0}\", in binding \"{2}\"

wsdlmodeler.warning.ignoringHeaderFault.notLiteral=non-prise en compte de la partie headerfault \"{0}\" du message \"{1}\" de l''op\u00E9ration {2}, l''attribut utilis\u00E9 doit \u00EAtre \"literal\"

wsdlmodeler.warning.ignoringHeaderFault.noElementAttribute=non-prise en compte de la partie headerfault \"{0}\" du message \"{1}\" de l''op\u00E9ration {2}

wsdlmodeler.invalid.headerfault.notLiteral=El\u00E9ment headerfault \"{0}\" non valide de l''op\u00E9ration de binding \"{1}\" : le type n''est pas literal
wsdlmodeler.invalid.headerfault.message.partMustHaveElementDescriptor=El\u00E9ment headerfault \"{0}\" non valide pour l''en-t\u00EAte {1} dans l''op\u00E9ration {2} : la partie doit indiquer un attribut \"element\"
wsdlmodeler.invalid.header.message.partMustHaveElementDescriptor=En-t\u00EAte \"{0}\" non valide dans l''op\u00E9ration {1} : la partie doit indiquer un attribut \"element\"


#wsi warnings
wsdlmodeler.warning.nonconforming.wsdl.import=WSDL non conforme \u00E0 WS-I utilis\u00E9 pour wsdl:import
wsdlmodeler.warning.nonconforming.wsdl.types=WSDL non conforme \u00E0 WS-I utilis\u00E9 pour wsdl:types
wsdlmodeler.warning.nonconforming.wsdl.use=Traitement de l''op\u00E9ration non conforme \u00E0 WS-I \"{0}\" avec RPC-Style et SOAP-encoded

# optional parts
# Not concatenated with any other string.
wsdlmodeler.error.partsNotFound=\u00E9l\u00E9ments PART \"{0}\" introuvable dans le message \"{1}\" ; WSDL erron\u00E9

# soap 1.2
wsdlmodeler.warning.port.SOAPBinding12=Port SOAP \"{0}\" : utilise un binding SOAP 1.2 non standard.
wsdlmodeler.warning.ignoringSOAPBinding12=Non-prise en compte du port SOAP \"{0}\" : il utilise un binding SOAP 1.2 non standard.\nVous devez indiquer l''option \"-extension\" pour utiliser ce binding.

#WSI-BP1.0 Warning/Errors
wsdlmodeler.warning.r2716=R2716 WSI-BasicProfile version 1.0, attribut d''espace de noms non autoris\u00E9 dans doc/lit pour {0} : \"{1}\"

# {0} - "soapbind:header"/"soapbind:fault", {1} - binding operation name / soap fault name e.g.: R2716/R2726 WSI-BasicProfile ver. 1.0, namespace attribute not allowed in doc/lit or rpc/lit for soapbind:fault: "RemoteValidationException"
wsdlmodeler.warning.r2716r2726=R2716/R2726 WSI-BasicProfile version 1.0, attribut d''espace de noms non autoris\u00E9 dans doc/lit ou rpc/lit pour {0} : \"{1}\"

#WSI-BP 1.1 Warning/Errors
# R2911
mimemodeler.invalidMimePart.moreThanOneSOAPBody=Non-prise en compte de l''op\u00E9ration \"{0}\". La structure Multipart/Related comporte un \u00E9l\u00E9ment Part racine non valide : plusieurs \u00E9l\u00E9ment Part soap:body trouv\u00E9s

# R2906
mimemodeler.warning.IgnoringinvalidHeaderPart.notDeclaredInRootPart=Les en-t\u00EAtes ne figurent pas dans l''\u00E9l\u00E9ment mime:part racine avec soap:body, non-prise en compte des en-t\u00EAtes dans l''op\u00E9ration \"{0}\"

# R2909
mimemodeler.invalidMimeContent.differentPart=Non-prise en compte de mime:part. mime:part non valide, mime:content a un autre attribut d'\u00E9l\u00E9ment Part.

mimemodeler.invalidMimeContent.invalidSchemaType=Non-prise en compte de mime:part. L''\u00E9l\u00E9ment Part MIME {0} ne peut pas \u00EAtre mapp\u00E9 avec le type de sch\u00E9ma : {1}

# Rxxxx A mime:content in a DESCRIPTION MUST refer to a wsdl:part element defined using the type attribute.
mimemodeler.invalidMimeContent.mesagePartElementKind=l''\u00E9l\u00E9ment wsdl:part r\u00E9f\u00E9renc\u00E9 par l''attribut d''\u00E9l\u00E9ment Part mime:content {0} doit \u00EAtre d\u00E9fini \u00E0 l''aide de l''attribut de type.

# RXXXX RYYYY: In a description, a mime:content element MUST include the part attribute.
mimemodeler.invalidMimeContent.missingPartAttribute=Non-prise en compte de l''op\u00E9ration \"{0}\", attribut d''\u00E9l\u00E9ment Part manquant dans mime:content. L''attribut d''\u00E9l\u00E9ment Part doit figurer dans la d\u00E9claration mime:content.

mimemodeler.invalidMimeContent.missingTypeAttribute=Attribut de type manquant dans mime:content dans l''op\u00E9ration \"{0}\". L''attribut d''\u00E9l\u00E9ment Part doit figurer dans la d\u00E9claration mime:content.

# unknown schematype
mimemodeler.invalidMimeContent.unknownSchemaType=Type de sch\u00E9ma {1} inconnu pour l''\u00E9l\u00E9ment Part mime:content : {0}
mimemodeler.invalidMimeContent.errorLoadingJavaClass=Classe \"{0}\" introuvable pour le type MIME \"{1}\"

# missing wsdl:part referenced by the mime:content
wsdlmodeler.warning.ignoringMimePart.notFound=non-prise en compte de mime:part, \u00E9l\u00E9ment Part \"{0}\" r\u00E9f\u00E9renc\u00E9 par la d\u00E9claration mime:content introuvable dans l''\u00E9l\u00E9ment wsdl:operation \"{1}\"

mimemodeler.elementPart.invalidElementMimeType=L''\u00E9l\u00E9ment Part mime:content fait r\u00E9f\u00E9rence \u00E0 l''\u00E9l\u00E9ment wsdl:part \"{0}\", d\u00E9finie \u00E0 l''aide de l''attribut d''\u00E9l\u00E9ment. Assurez-vous que le type MIME \"{1}\" est appropri\u00E9 pour s\u00E9rialiser XML.

# R2708 The mime:part element in a DESCRIPTION MUST NOT have a name attribute.
mimemodeler.invalidMimePart.nameNotAllowed=l''attribut de nom sur l''\u00E9l\u00E9ment wsdl:part dans l''op\u00E9ration \"{0}\" n''est pas pris en compte. Il n''est pas autoris\u00E9 comme WS-I AP 1.0.


wsdlmodeler20.rpcenc.not.supported=Les WSDL RPC/encoded ne sont pas pris en charge dans JAXWS 2.0.
wsdlmodeler.warning.ignoringOperation.notNCName=Non-prise en compte de l''op\u00E9ration \"{0}\", son nom comporte le caract\u00E8re interdit ''{1}''. Son op\u00E9ration rpc-literal -jaxws ne pourra pas le s\u00E9rialiser.

wsdlmodeler.warning.ignoringOperation.javaReservedWordNotAllowed.nonWrapperStyle=Non-prise en compte de l''op\u00E9ration \"{0}\", impossible de g\u00E9n\u00E9rer la m\u00E9thode Java. Param\u00E8tre : la partie "{2}\" de wsdl:message \"{1}\" est un mot-cl\u00E9 Java. Utilisez la personnalisation pour modifier le nom de param\u00E8tre ou le nom wsdl:part.
wsdlmodeler.invalid.operation.javaReservedWordNotAllowed.nonWrapperStyle=Op\u00E9ration \"{0}\" non valide, impossible de g\u00E9n\u00E9rer la m\u00E9thode Java. Param\u00E8tre : la partie "{2}\" de wsdl:message \"{1}\" est un mot-cl\u00E9 Java. Utilisez la personnalisation pour modifier le nom de param\u00E8tre ou le nom wsdl:part.

wsdlmodeler.warning.ignoringOperation.javaReservedWordNotAllowed.wrapperStyle=Non-prise en compte de l''op\u00E9ration \"{0}\", impossible de g\u00E9n\u00E9rer le param\u00E8tre de m\u00E9thode Java. Le nom local de l''enfant wrapper \"{1}\" dans l''\u00E9l\u00E9ment global \"{2}\" est un mot-cl\u00E9 Java. Utilisez la personnalisation pour modifier le nom de param\u00E8tre.
wsdlmodeler.invalid.operation.javaReservedWordNotAllowed.wrapperStyle=Op\u00E9ration \"{0}\" non valide, impossible de g\u00E9n\u00E9rer le param\u00E8tre de m\u00E9thode Java. Le nom local de l''enfant wrapper \"{1}\" dans l''\u00E9l\u00E9ment global \"{2}\" est un mot-cl\u00E9 Java. Utilisez la personnalisation pour modifier le nom de param\u00E8tre.

wsdlmodeler.warning.ignoringOperation.javaReservedWordNotAllowed.customName=Non-prise en compte de l''op\u00E9ration \"{0}\", impossible de g\u00E9n\u00E9rer la m\u00E9thode Java. Le nom personnalis\u00E9 de param\u00E8tre \"{1}\" est un mot-cl\u00E9 Java.
wsdlmodeler.invalid.operation.javaReservedWordNotAllowed.customName=Op\u00E9ration \"{0}\" non valide, impossible de g\u00E9n\u00E9rer la m\u00E9thode Java. Le nom personnalis\u00E9 de param\u00E8tre \"{1}\" est un mot-cl\u00E9 Java.

wsdlmodeler.warning.ignoringOperation.javaReservedWordNotAllowed.operationName=Non-prise en compte de l''op\u00E9ration \"{0}\", il s''agit d''un mot r\u00E9serv\u00E9 Java, impossible de g\u00E9n\u00E9rer la m\u00E9thode Java. Utilisez la personnalisation pour modifier le nom de l''op\u00E9ration.
wsdlmodeler.invalid.operation.javaReservedWordNotAllowed.operationName=Op\u00E9ration \"{0}\" non valide, il s''agit d''un mot r\u00E9serv\u00E9 Java, impossible de g\u00E9n\u00E9rer la m\u00E9thode Java. Utilisez la personnalisation pour modifier le nom de l''op\u00E9ration.

wsdlmodeler.warning.ignoringOperation.javaReservedWordNotAllowed.customizedOperationName=Non-prise en compte de l''op\u00E9ration \"{0}\", impossible de g\u00E9n\u00E9rer la m\u00E9thode Java, le nom personnalis\u00E9 \"{1}\" de l''\u00E9l\u00E9ment wsdl:operation est un mot-cl\u00E9 Java.
wsdlmodeler.invalid.operation.javaReservedWordNotAllowed.customizedOperationName=Op\u00E9ration \"{0}\"non valide, impossible de g\u00E9n\u00E9rer la m\u00E9thode Java, le nom personnalis\u00E9 \"{1}\" de l''\u00E9l\u00E9ment wsdl:operation est un mot-cl\u00E9 Java.

wsdlmodeler.jaxb.javatype.notfound=Le descripteur de sch\u00E9ma {0} dans la partie message \"{1}\" n''est pas d\u00E9fini et n''a pas pu \u00EAtre li\u00E9 \u00E0 Java. Le descripteur de sch\u00E9ma {0} n''est peut-\u00EAtre pas d\u00E9fini dans le sch\u00E9ma import\u00E9/inclus dans le WSDL. Vous pouvez ajouter ces imports/inclusions ou ex\u00E9cuter wsimport et fournir l''emplacement du sch\u00E9ma \u00E0 l''aide du commutateur -b.
wsdlmodeler.unsupportedBinding.mime=Le binding MIME WSDL n'est pas pris en charge actuellement.

wsdlmodeler.nonUnique.body.error=Parties du corps non uniques. Dans un port, les op\u00E9rations BP 1.1 R2710 doivent comporter une signature d''op\u00E9ration unique sur le wire pour une r\u00E9partition r\u00E9ussie. Dans le port {0}, les op\u00E9rations \"{1}\" et \"{2}\" comportent le m\u00EAme bloc de corps de demande {3}. Essayez d''ex\u00E9cuter wsimport avec le commutateur -extension, le runtime essaiera d''effectuer la r\u00E9partition \u00E0 l''aide de SOAPAction
wsdlmodeler.nonUnique.body.warning=Parties du corps non uniques. Dans un port, les op\u00E9rations BP 1.1 R2710 doivent comporter une signature d''op\u00E9ration unique sur le wire pour une r\u00E9partition r\u00E9ussie. Dans le port {0}, les op\u00E9rations \"{1}\" et \"{2}\" comportent le m\u00EAme bloc de corps de demande {3}. La r\u00E9partition de m\u00E9thode risque d''\u00E9chouer, le runtime essaiera d''effectuer la r\u00E9partition \u00E0 l''aide de SOAPAction

wsdlmodeler.rpclit.unkownschematype=Le type XML \"{0}\" n''a pas pu \u00EAtre r\u00E9solu, \u00E9chec du binding XML vers JAVA. V\u00E9rifiez l''\u00E9l\u00E9ment wsdl:part \"{1}\" dans wsdl:message \"{2}\".

wsdlmodeler.responsebean.notfound=wsimport n''a pas pu g\u00E9n\u00E9rer le bean de r\u00E9ponse asynchrone pour l''op\u00E9ration : {0}
