# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
#
# Copyright (c) 2009, 2016 Oracle and/or its affiliates. All rights reserved.
#
# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
# Other names may be trademarks of their respective owners.
#
# The contents of this file are subject to the terms of either the GNU
# General Public License Version 2 only ("GPL") or the Common
# Development and Distribution License("CDDL") (collectively, the
# "License"). You may not use this file except in compliance with the
# License. You can obtain a copy of the License at
# http://www.netbeans.org/cddl-gplv2.html
# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
# specific language governing permissions and limitations under the
# License.  When distributing the software, include this License Header
# Notice in each file and include the License file at
# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the GPL Version 2 section of the License file that
# accompanied this code. If applicable, add the following below the
# License Header, with the fields enclosed by brackets [] replaced by
# your own identifying information:
# "Portions Copyrighted [year] [name of copyright owner]"
#
# If you wish your version of this file to be governed by only the CDDL
# or only the GPL Version 2, indicate your decision by adding
# "[Contributor] elects to include this software in this distribution
# under the [CDDL or GPL Version 2] license." If you do not indicate a
# single choice of license, a recipient has the option to distribute
# your version of this file under either the CDDL, the GPL Version 2 or
# to extend the choice of license to its licensees as provided above.
# However, if you add GPL Version 2 code and therefore, elected the GPL
# Version 2 license, then the option applies only if the new code is
# made subject to such option by the copyright holder.
#
# Contributor(s):
# Package specific ResourceBundle properties file

AP2901_INPUT=WS-I(AP2901): <wsdl:input>\u306f\u3001WSDL 1.1\u30bb\u30af\u30b7\u30e7\u30f35 WSDL\u306b\u8a18\u8ff0\u3055\u308c\u305fMIME\u7d50\u5408\u3001\u307e\u305f\u306fWSDL 1.1\u30bb\u30af\u30b7\u30e7\u30f33\u306b\u8a18\u8ff0\u3055\u308c\u305fWSDL SOAP\u7d50\u5408\u306e\u3001\u3044\u305a\u308c\u3082\u4f7f\u7528\u3057\u307e\u305b\u3093\u3002
AP2901_OUTPUT=WS-I(AP2901): <wsdl:output>\u306f\u3001WSDL 1.1\u30bb\u30af\u30b7\u30e7\u30f35 WSDL\u306b\u8a18\u8ff0\u3055\u308c\u305fMIME\u7d50\u5408\u3001\u307e\u305f\u306fWSDL 1.1\u30bb\u30af\u30b7\u30e7\u30f33\u306b\u8a18\u8ff0\u3055\u308c\u305fWSDL SOAP\u7d50\u5408\u306e\u3001\u3044\u305a\u308c\u3082\u4f7f\u7528\u3057\u307e\u305b\u3093\u3002
AP2903_PART=WS-I(AP2903): <mime:content>\u306e\u90e8\u5206\u5c5e\u6027\u306f\u3001\u5bfe\u5fdc\u3059\u308bwsdl:portType\u306b\u5bfe\u5fdc\u3059\u308bwsdl:operation\u306b\u5bfe\u5fdc\u3059\u308bwsdl:input\u307e\u305f\u306fwsdl:output\u306b\u5b58\u5728\u3059\u308bwsdl:message\u306e<wsdl:part>\u8981\u7d20\u3092\u53c2\u7167\u3057\u307e\u305b\u3093\u3002
AP2903_PORTTYPE_NULL=WS-I(AP2903): \u5bfe\u5fdc\u3059\u308bwsdl:input\u304cwsdl:portType\u306b\u3042\u308a\u307e\u305b\u3093
AP2903_MESSAGE_NULL=WS-I(AP2903): wsdl:input\u304c\u3044\u304b\u306a\u308bwsdl:message\u3082\u53c2\u7167\u3057\u307e\u305b\u3093\u3002
AP2906=WS-I(AP2906): \u975e\u30eb\u30fc\u30c8<mime:part>\u306f<soap:header>\u8981\u7d20\u3092\u542b\u3093\u3067\u3044\u307e\u3059\u3002
AP2906_SOAP12=WS-I(AP2906): \u975e\u30eb\u30fc\u30c8<mime:part>\u306f<soap12:header>\u8981\u7d20\u3092\u542b\u3093\u3067\u3044\u307e\u3059\u3002
AP2909=WS-I(AP2909): <mime:part>\u306e\u5b50\u8981\u7d20\u3067\u3042\u308b\u8907\u6570\u306e<mime:content>\u306f\u3001\u540c\u3058<wsdl:part>\u3092\u53c2\u7167\u3059\u3079\u304d\u3067\u3059\u3002
AP2910=WS-I(AP2910): <mime:content>\u306f\u3001\u578b\u5c5e\u6027\u307e\u305f\u306f\u8981\u7d20\u5c5e\u6027\u306e\u3044\u305a\u308c\u304b\u3092\u4f7f\u7528\u3057\u3066\u5b9a\u7fa9\u3055\u308c\u305fwsdl:part\u3092\u53c2\u7167\u3057\u3066\u3044\u307e\u305b\u3093\u3002
AP2911=WS-I(AP2911): <mime:multipartRelated>\u306f\u3001<soap:body>\u5b50\u8981\u7d20\u3092\u542b\u3080<mime:part>\u5b50\u8981\u7d20\u3092\u3001\u305f\u3060\u4e00\u3064\u3060\u3051\u542b\u3080\u3079\u304d\u3067\u3059\u3002
AP2911_SOAP12=WS-I(AP2911): <mime:multipartRelated>\u306f\u3001<soap12:body>\u5b50\u8981\u7d20\u3092\u542b\u3080<mime:part>\u5b50\u8981\u7d20\u3092\u3001\u305f\u3060\u4e00\u3064\u3060\u3051\u3075\u304f\u3080\u3079\u304d\u3067\u3059\u3002
AP2930=WS-I(AP2930): <wsdl:fault>\u306fmime:multipartRelated\u3092\u5b50\u8981\u7d20\u3068\u3057\u3066\u6301\u3064\u3079\u304d\u3067\u306f\u3042\u308a\u307e\u305b\u3093
AP2940=WS-I(AP2940): <ref:swaRef>\u30b9\u30ad\u30fc\u30de\u578b\u3092\u4f7f\u7528\u3057\u3066\u5b9a\u7fa9\u3055\u308c\u305f<wsdl:part>\u304c\u3001MIME\u7d50\u5408\u5185\u3067<soap:body>\u304a\u3088\u3073<soap:header>\u3068\u7d50\u5408\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
AP2940_SOAP12=WS-I(AP2940): <ref:swaRef>\u30b9\u30ad\u30fc\u30de\u578b\u3092\u4f7f\u7528\u3057\u3066\u5b9a\u7fa9\u3055\u308c\u305f<wsdl:part>\u304c\u3001MIME\u7d50\u5408\u5185\u3067<soap12:body>\u304a\u3088\u3073<soap12:header>\u3068\u7d50\u5408\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
AP2941=WS-I(AP2941): wsdl:binding\u306f\u3001wsdl:portType\u5185\u306ewsdl:message\u306e\u3059\u3079\u3066\u306ewsdl:part\u3092\u3001soapbind:body\u3001soapbind:header\u3001soapbind:fault\u3001soapbind:headerfault\u3001mime:content\u306e\u3044\u305a\u308c\u304b\u4e00\u3064\u3092\u53c2\u7167\u3059\u308b\u3082\u306e\u306b\u7d50\u5408\u3059\u3079\u304d\u3067\u3059\u3002
AP2944=WS-I(AP2944): <mime:content>\u306e\u578b\u5c5e\u6027\u306e\u5024\u306f\u3001"text/xml"\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002\u3053\u308c\u306f\u3001\u90e8\u5206\u5c5e\u6027\u304c\u30b0\u30ed\u30fc\u30d0\u30eb\u8981\u7d20\u5ba3\u8a00\u3092\u53c2\u7167\u3059\u308b\u304b\u3089\u3067\u3059\u3002

