Cosminexus SOAPアプリケーション開発ガイド
WSDL定義では,RFC3986で規定されている非予約文字と日本語を使用できます。ここでは,WSDL定義で使用できる文字,および使用する文字に関する注意事項を示します。
WSDLファイル名で使用できない文字については,「3.3.9(3) WSDLファイル名に使用できない文字」を参照してください。
document/literalに対応したSOAPアプリケーションでは,WSDL定義に日本語を使用できます。WSDLのスタイルごとに,使用できる文字を示します。
半角英数字(A~Z,a~z,0~9),アンダースコア(_),および次に示す文字を使用できます。
WSDLのデータ型がanyURIの属性については,次の文字も使用できます。
日本語のサポートについては,「12.2.1(2) WSDL1.1仕様での日本語のサポート範囲」を参照してください。なお,DIIを使用する場合,日本語は使用できません。
半角英数字(A~Z,a~z,0~9)およびアンダースコア(_)を使用できます。WSDLのデータ型がanyURIの属性については,次の文字も使用できます。
wsdl:port要素のname属性の値と,soap:address要素のlocation属性に指定されたURLパスの末尾の値は一致させる必要があります。ただし,wsdl:port要素のname属性を日本語で定義する場合,同じ値をパーセントエンコードしてsoap:address要素のlocation属性のURLパスに定義する必要があります(クライアントアプリケーションで動的にURLを指定する場合は除きます)。
パーセントエンコードするときに使用できる符号化形式はUTF-8です。また,パーセントエンコードした文字の16進コード(%xx)のAからFは,大文字を使用してください。
次に,wsdl:port要素のname属性を日本語で定義する場合の例を示します。
... <wsdl:service name="UserInfoService"> <wsdl:port binding="intf:UserInfoSoapBinding" name="日本語"> <soap:address location="http://localhost:8080/RPCSampleService/services/%E6%97%A5%E6%9C%AC%E8%AA%9E"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
soap:address要素のlocation属性に誤った値を定義した場合,エラーとなり通信できません。
WSDLのデータ型がanyURIの属性に対して,日本語で値を定義する場合は,パーセントエンコードする必要があります。
パーセントエンコードするときに使用できる符号化形式はUTF-8です。また,パーセントエンコードした文字の16進コード(%xx)のAからFは,大文字を使用してください。
anyURIの属性を持つWSDLの要素については,「12.2.1(2) WSDL1.1仕様での日本語のサポート範囲」を参照してください。
WSDL定義で次の記号を名称に使用している場合,ソースコード生成時に記号が削除されます。そのため,記号を使用して名称を重複しないようにしている場合でも,ソースコード生成時には名称が重複して,コンパイルエラーになることがあります。
WSDL定義で使用する名称の先頭文字は「a~z」,「A~Z」,または「_」(アンダースコア)で始まるように定義してください。それ以外の名称を先頭文字に使用すると,サービス呼び出し時にエラー(KDCCF0006-E)が発生することがあります。
WSDL定義でデータ型を定義する場合,同一データ型内の変数名として,"A"と"a"または"A1"と"a1"のように,大文字小文字だけが異なる変数名を定義すると,ソースコード生成後のコンパイルでエラーになることがあります。
大文字小文字だけが異なるような変数名は定義しないでください。
WSDL定義で使用する名称に,Javaの予約語を定義すると,ソースコード生成時に名称の前に「_」(アンダースコア)が付加されます。
名称の前に「_」(アンダースコア)が付加されるJavaの予約語を次に示します。
"abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", "default", "do", "double", "else", "enum", "extends", "false", "final", "finally", "float", "for", "goto", "if", "implements", "import", "instanceof", "int", "interface", "long", "native", "new", "null", "package", "private", "protected", "public", "return", "short", "static", "strictfp", "super", "switch", "synchronized", "this", "throw", "throws", "transient", "true", "try", "void", "volatile", "while"
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.