2016-09-08 3 views
2

各スキーマはwsdl内に一意の名前空間を持つ必要がありますか? 例として、スキーマの名前空間を持たない以下のWSDLスニペットを考えてみましょう。WSDLには各スキーマに一意の名前空間が必要です

<wsdl:types> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:import namespace="http://example.com/WSDL/service/1.0.0/" schemaLocation="GetFilterValuesRequest.xsd"/> 
</xsd:schema> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:import namespace="http://example.com/WSDL/service/1.0.0/" schemaLocation="GetFilterValuesReply.xsd"/> 
</xsd:schema> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:import namespace="http://example.com/WSDL/service/1.0.0/" schemaLocation="IRequest.xsd"/> 
</xsd:schema> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:import namespace="http://example.com/WSDL/service/1.0.0/" schemaLocation="IReply.xsd"/> 
</xsd:schema> 
</wsdl:types> 

私はWSDLサービスを書き込むためnode-soapライブラリを使用しています、と矛盾するスキーマ内の名前空間または全く名前空間のいずれかがある場合、ライブラリサービスが動作しない、ので、私は求めています理由があります。

SOAP要求が送信されたときに、そのSOAPメッセージがネームスペースでスキーマのマップを作成し、その後、特定の要求に対して一意のスキーマを見つけることができないというエラーが発生しました。

私は、エラーやその修正の詳細を詳しく知りたくはありませんが、それがWSDLが有効なものであることを理解することが必要でしたか?

答えて

0

SOAPサーバーがほとんどのクライアントで正しく機能するためには、名前空間が必要です。

スキーマはすべて同じ名前空間にあります。したがって、同じ名前でデータ構造が定義されていると、これが問題になります。

XMLの名前空間は、プログラミング言語の名前空間に似ています。同じ名前のデータ型が互いに衝突することを防ぎます。

名前空間はURLである必要はありません。それは単なる大会です。それは何でもかまいません。一意である必要があります。

関連する問題