#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#

# Translation instructions.
# 1.  Each message line is of the form key=value.
#     Translate the value, DO NOT translate the key.
# 2.  The messages may contain arguments that will be filled in
#     by the runtime.  These are of the form: {0}, {1}, etc.
#     These must appear as is in the message, though the order
#     may be changed to support proper language syntax.
# 3.  If a single quote character is to appear in the resulting
#     message, it must appear in this file as two consecutive
#     single quote characters.
# 4.  Lines beginning with "#" (like this one) are comment lines
#     and may contain translation instructions.  They need not be
#     translated unless your translated file, rather than this file,
#     will serve as a base for other translators.
#
# Do not remove the following comment line. It is a variable used by a translation tool.
# NLS_MESSAGEFORMAT_VAR
# NLS_ENCODING=UNICODE
# ISMESSAGEFILE TRUE

#############################################################################
# DO NOT TOUCH THESE PROPERTIES - THEY ARE AUTOMATICALLY UPDATED BY THE BUILD
# PROCESS.
axisVersion=Apache Axis2 version: @axisVersion@
axisVersionRaw=@axisVersion@
axisBuiltOnRaw=@TODAY@
axisUserAgent=Axis/@axisVersion@
builtOn=Built on @TODAY@
#############################################################################

threadpoolshutdown=Thread pool is shut down.
errorWhileSafeShutDown=Error during safe shutdown
invaliduser=The user name is not valid.
invalidSOAPversion=The SOAP URI is not valid. Axis2 supports SOAP Version 1.1 and 1.2 only.
cannotInferTransport=The system cannot infer the transport information from the {0} URL.
cannotInferTransportNoAddr=Address information does not exist in the Endpoint Reference (EPR).The system cannot infer the transport mechanism.
cannotBeNullAxisOperation=The Axis operation cannot be null.
cannotBeNullServiceContext=The ServiceContext cannot be null.
cannotBeNullConfigurationContext=The ConfigurationContext cannot be null.
cannotBeNullOperationContext=The OperationContext cannot be null.
nowhereToSendError=The return response path is missing and faultTo is not specified.
errorwhileProcessingFault=An error occurred while processing the fault. See the previous error in the stack trace for more information. 
unSupportedMEP=An unsupported message exchange pattern (MEP) exists in {0}.
mepClientSupportOnly=This message exchange pattern (MEP) client supports {0} only and the supplied Axis operations supports {1}.
inputstreamNull=The input stream for an incoming message is null.
unknownTransport=An unknown transport called {0} exists.
paramIsNotSpecified=The {0} parameter is not specified.
groovyNoanswer=An answer has not been received from groovy. 
groovyUnableToLoad=The system cannot load {0}
outMessageNull=The out message is NULL, nothing to write.
canNotBeNull={0} cannot be NULL.
notFound={0} cannot be found.
transportError=Transport error: {0} Error: {1}
httpTransportError=HTTP Transport error: ''{0}'' - ''{1}''
preatureEOS=A premature end of stream has occurred.
responseTimeOut=Time out while waiting for the server to send the response.
callBackCompletedWithError=The callback complete, but there was no envelope element or an error.
2channelNeedAddressing=To use two transport channels you must use the WS-Addressing module. 
useSeparateListenerLimited=Setting useSeparateListener to false is not a valid option when the Sender is {0} and Listener is {1}   
replyNeedStarting=Before requesting the ReplyTo value, the system must start the TransportListener. The Transport is {0}
failedToOpenSocket=The system failed to open the socket.
noRecep4Email=A recipient is not specified in the e-mail message.
unknownMsgLabel=An unknown message label has been encountered: {0}
cannotCorrelateMsg= The system cannot correlate the {0} message operation to RelatesTo {1}
addAfterInvoke00={0}: The chain already has been invoked.
#AandBdonotmatch=The {0} value does not match {1} value. The system expected the {2} value, but found the {3} value.
rpcNeedmatchingChild=The remote procedure call (RPC) style expects the immediate child of the SOAP body.
unknownStyle=The {0} style is an unknown style.
rawXmlProviderIsLimited=The XML provider supports only the methods that contain the public OMElement &lt;method-name&gt;(OMElement) signature where the method-name variable can be any value.
methodNotImplemented=The implementation class does not define a method called
methodDoesNotExistInOut=The ServiceClass object does not implement the required method in the following form: OMElement {0}(OMElement e)
methodDoesNotExistInOnly=RawInOnlyXMLMessageReceiver can not handle this scenario since ServiceClass has implemented to take Non OMElement as method arguments.
implReturnedNull=The implementation class returned a null value.
invalidMethodName=The {0} method name is not valid for the service implementation class.
blockInvocationExpectsRes=The blocking invocation does not contain a response.
serviceGroupIDNotFound=The SOAP session information cannot be retrieved from the correlation id that was received.

#    Client
operationnotfound=The {0} operation cannot be found.
unsupportedyype=An unsupported type exists.
unknownsoapversion=The system does not recognize the SOAP version.
cannotfindamoduletoprocess=The system cannot find a module to process {0} type assertions.
noendpointfound=An endpoint cannot be found in the Service {0} 
endpointnotfound=An endpoint cannot be found.
unsupportdmep=An unsupported message exchange pattern (MEP) exists.
noservicefound=A service was not located. 

# context
servicenotfound=A service cannot be located.
threadpoolset=The thread pool is already set.
transportiniterror=A transport-OUT initialization error: {0}
invalidserviceinagroup=The {0} service, which is not valid, does not belong to the {1} service group.
cannotFlushRootNull=Context cannot be flushed since the root context is null

#     Deployment Errors
invalidWSDLFound=The WSDL file found in the service archive file is not valid. The WSDL file must have either http://www.w3.org/2006/01/wsdl or http://www.w3.org/2004/03/wsdl as the namespace of the document element.
#wsdlfilenotfound=The WSDL file cannot be found for the service: {0}
servicexmlnotfound=The services.xml file cannot be found for the service: {0}
modulexmlnotfound=The module.xml file cannot be found for the module: {0}
classnotfound=The {0} class cannot be found.
fileNotFound=The {0} file cannot be found.
repocannotbebull=The Axis2 repository cannot be null.
confignotfound=The system cannot find the axis2.xml file.
pathtoconfigcanotnull=The path to axis2.xml file cannot be NULL.
modulevalfailed=Module validation failed: {0}
invalidphase=Did not find the desired phase ''{0}'' while deploying handler ''{1}''.
dispatchPhaseNotFoundOnInflow=The 'Dispatch' phase is not found on the global 'InFlow' phase of the axis2.xml file. Make sure the phase is within the axis2.xml file.
#invalidmoduleref=The {0} service refers to the {1} module, which is not valid.
invalidmodulerefbyop={0} operation refers to the {1} module, which is not valid.
addingnewmodule=Adding new module
settingcl=The service is setting the {0} class loader.
deployingws=Deploying Web service: {0} - {1}
invalidservice=The {0} service, which is not valid, caused {1}
deployingmodule=Deploying module: {0} - {1}
deployingpojo=Deploying pojo: {0} - {1}
invalidmodule=The {0} module, which is not valid, caused {1}
serviceremoved=Undeploying Web service: {0}
typemappingnotallowed=Type Mappings are not allowed in the axis2.xml file.
errorinloadingmr=A {0} error occurred in loading the message receiver {1}
errorinloadingts=A {0} error occurred in loading the transport sender {1} 
errorloadingbuilder=A {0} error occurred while validating the message builder {1}
errorloadingformatter=A {0} error occurred while validating the message formatter {1}
invalidconfigattribute=Attributes exist in the axis2.xml file that are not valid.  {0} {1}
undefinedFlowType=An undefined flow type exists in {0}
flowtypeisrequird=The flow type is a required attribute in {0}
elementisnotallow=The {0} element is not allowed in the axis2.xml file.
# outflownotallowedintrin is not used
#outflownotallowedintrin=OUTFlow does not support in AxisTransportIN  {0}
unknownelement=This element is unknown: {0}
inflownotallowedintrout=InFlow is not supported in TransportOutDescription {0}
badarguforservice=The {0} arguments are not valid for the {1} service.
typemappingnotimpl=Type mapping support is not available.
beanmappingnotimpl=Bean mapping support is not available.
modulenotfound=The {0} module is not valid or has not been deployed.
badparaagu=bad parameter arguments. name cannot be null : {0}
badlistagu=The listener arguments are not valid.
# invalidhandlerdif and thisshouldbeimplement are not used.
#invalidhandlerdif= The Handler cannot have both a name and a ref {0}
#thisshouldbeimplment=This should be implemented {0}
opnotfoundinwsdl=The {0} Operation Name cannot be found in the WSDL file.
# badopeattribute and unknownelementinop are not used.
#badopattribute=An attribute that is not valid was found in the operation: {0}
#unknownelementinop=An unknown element exists in the operation: {0}
modulecannothavrbothnameandref=A module cannot have both a name and a ref {0}.
invalideleinmodule=The {0} element is not allowed in the module.xml file.
# invalidphase01 is not used.
#invalidphase01=Invalid Phase : {0} for the handler {1} does not exit in axis2.xml or refering to phase in different flow
invalidmodulerefbyconfig=A reference by the axis2.xml file is made to the {0} module, which is not valid.
phasedosenotspecified=A Phase is specified for the {0} handler.                                            
servicemodulecannothaveglobal=A service-specific module cannot refer system pre-defined phases:  {0}
fnf=The file cannot be found.
fnf_e=The {0} file cannot be found.
StreamException=XMLStreamException : {0}
mnf={0} : The module cannot be found.
invalid_storage=The definition of the storage class is not valid because the class name is missing.
no_dispatcher_found=A dispatcher cannot be found and cannot continue.
noMetaInf=Invalid service. META-INF directory not found.
ivs=Invalid service. META-INF directory not found.
badModuleFromOperation=An error occurred in the {0} engaging module to the {1} operation. A module reference that is not valid exists at the operation.
badModuleFromService=An error occurred in the {0} engaging module to the {1} service. A module reference that is not valid exists at the service.
InstantiationException=An InstantiationException error occurred in Axis storage processing  {0}
IllegalAccessException=An IllegalAccessException error occurred in Axis storage processing  {0}
transportSenderError=The TransportSender implementation class is required for the transport {0}
obsererror=An implemenation class of the Observer object is required.
invalidmoduleconfig=A module configuration exists that is not valid.
invalidhandler=Invalid handler config!  Name: {0} Reason: {1}
parameterlockederror=The {0} parameter is locked at the top level and cannot be overridden.
op_error=Processing Operations Modules with an error of {0}
servicenameeror=A service name is required.
invalid_op=The operation is not valid: {0} 
cannotCorrelateMsg01=Cannot correlate MessageID {1} to {0}
fileExistsNoOverwrite=The {0} file cannot be overwritten.
cannotConnectError=Unable to connect
failedJMSConnectorShutdown=A failure occurred in the JMSConnectorShutdown
errorinschemagen=The following error occurred during schema generation: {0}
errorininputstreamclose=An error occurred in closing input stream.
phaseclassnotfound=The system cannot find the phase class: {0} : {1}
modulenamecannotbenull=The following attribute /defaultModuleVersions/module/@name is not set in axis2.xml
moduleversioncannotbenull=The following attribute /defaultModuleVersions/module/@version is not set in axis2.xml
# documentcreatingerror is not used.
#documentcreatingerror=An exception occurred when creating the document from the WSDL file: {0}
noserviceelemtfound=The javax.wsdl.Service element cannot be found.
serviceporterror=The system must specify at least one port.
soapbindingerror=The system must specify at least one port with a SOAP binding.
axisoperationcreateerror=An exception when creating AxisOperation for the AxisService: {0}
wrapperelementcreaterror=An exception occurred when creating the wrapper element.
policyprocessingerror=An exception occurred when processing policy elements.
bothrepoandconfignull=The repository location is not specified and the axis2.xml file is not provided. The system will use the default configuration, which uses the default_axis2.xml file.
cannotfindrepo=The system cannot locate the specified repository location: {0}
norepofoundinaxis2=A repository location is not found in the axis2.xml file.
noservicedirfound=No services directory was found under {0}.
nomoduledirfound=No modules directory was found under {0}.
confdirnotfound=The conf directory cannot be found and the axis2.xml file is not provided. The system will use the default_axis2.xml file.
noaxis2xmlfound=The axis2.xml file cannot be found in conf directory.  The system will use the default_axis2.xml file.
badelementfound=The system was looking for the ''{0}'' element, but it found ''{1}''
messagelabelcannotfound=The message label cannot be null.
paramterlockedbyparent=The {0} parameter is already locked and the value cannot be overridden.
modulealredyengaged=The {0} module is already engaged. The operation has been stopped. 
mepmappingerror=The system cannot map the message exchange pattern (MEP) URI to a constant value for the axis2 MEP.
mepnotyetimplemented=The message exchange pattern (MEP) {0} has not implemented the createClient method.
modulealredyengagetoservice=The system is attempting to engage a module that is already engaged: {0}
invalidoperation=The following operation is not valid: {0}
noschemafound=A schema cannot be found for the service.
modulenotavailble=The system is attempting to engage a module that is not available: {0}
modulealredyengagedtoservicegroup=The {0} module has already been engaged on the service group. The operation has been stopped. 
servicenotfoundinwsdl=The {0} service cannot be found in the WSDL file.
noservicefoundinwsdl=The service cannot be found in the given WSDL file.
noporttypefoundfor=A port cannot be found for the {0} port name.
noporttypefound=A port cannot be found in the service element.
modulenf=A module cannot be found.
mepcompleted=A message was added that is not valid. However, the operation context was complete.
invalidacess= An access occurred that is not valid.
mepiscomplted=The message exchange pattern (MEP) is already complete. Use the reset method before re-running.
outmsgctxnull=The out message context is null. Set the out message context before calling this method.
cannotreset=The message exchange pattern (MEP) is not complete. Cannot reset
cannotaddmsgctx=The system cannot add the message context again until client runs.
clusterImplNotFound=Clustering implementation class {0} not found
contextManagerListenerIsNull=Cluster ContextManager entry not found in axis2.xml
configurationManagerListenerIsNull=Cluster ConfigurationManager entry not found in axis2.xml
cannotLoadClusterImpl=Cluster implementation cannot be loaded
classAttributeNotFound=The element {0} must have an attribute with the name ''class''

#Policy
emptypolicy=The Policy ID is either null or empty.
# outMessageNull is not used.
#outMessageNull=The out message is null.
malformedURLException00=MalformedURLException:
exception00=Exception:
#Byte code reading for Java2WSDL
badClassFile00=An error occurred when looking for parameter names in the bytecode. The input might not be a valid class file.
cantLoadByecode=The system cannot load the bytecode for the class "{0}"
unexpectedEOF00=An error occurred when looking for the parameter names in the bytecode. The end of the file was reached unexpectedly. 
unexpectedBytes00=An error occurred when looking for the parameter names in the bytecode. There are unexpected bytes in the file.
#description
servicefound=Found AxisService : {0}
operationfound=Found AxisOperation : {0}
checkingoperation=The system is checking for the operation using the following WSAAction: {0}
checkingserviceforepr=The system is checking for the service using the following toEPR address: {0}
checkingrelatesto=The system is checking the following  RelatesTo: {0}
twoservicecannothavesamename=Two services cannot have same name.  A service with the {0} name already exists in the system.
cannotaddapplicationscopeservice=The system cannot add a service with application scope after the system has started.
invalidservicegroupname=The {0} service group name is not valid.
modulealredyengagedglobaly=An attempt was made to engage the {0} module, which is already engaged.
refertoinvalidmodule=A reference was made to a module that has not been deployed. 
serviceinactive=The system is attempting to access an inactive service: {0}
servicenamenotvalid=The {0} service name in not valid.
enginestarted=The Axis engine started.
mustunderstandfailed=Must Understand check failed for header {0} : {1}
mustunderstandfailed2=Must Understand check failed for headers: {0}
receivederrormessage=The system received an error message with the {0} ID. 
servicenotfoundforepr=The service cannot be found for the endpoint reference (EPR) {0}
bindingDisabled={0} binding is disabled for this service.
operationnotfoundforepr=The endpoint reference (EPR) for the Operation not found is {0} and the WSA Action = {1}
operationnotfoundforepr2=The endpoint reference (EPR) for the Operation not found is {0} and the WSA Action = {1}. If this EPR was previously reachable, please contact the server administrator.
unabletofindservice=The requested service could not be found -- the operation has been stopped.
invalidservicegrouoid=The {0} Service Group ID is not valid.
servicenotfoundinthesystem=The {0} service is not found in the system.
transportnotfound=The transport is not found: {0}
CannotConfigureAxis2=The system cannot configure Axis2.
wsaddressingrequirednotpresent=WS-Addressing is required, but it cannot be found.
nomessagereciever=Message Receiver not found for AxisOperation: {0}
duplicaterelatesto=The message is a duplicate (has the same reply relationship value) of an already processed message. RelatesTo = {0}
getMessageContextError=The message context could not be retrieved due to the following error: {0}
mismatchedModuleVersions=Tried to deploy (to {0}) a module ''{1}'' when ''{2}'' was already deployed - version mismatch!
deployingexception=Deploying Exception Occured with {0}
stroringfaultyservice=Exception occured and made the service faulty with {0}
jaxwsjarsmissing=JAXWS jars are missing in the classpath with {0}, switching to annongen
faultyserviceremoval=Predicting faulty service with {0}, and removing it
