2016-08-28 13 views
1

私は、JavaでWSDL SOAP Webサービスの単体テストを作成しようとしています。SOAPサービスのネームスペース

XMLの同値性、Webサービスからの応答がどのように見えるか、そして実際にどのように見えるかをアサートしようとすると、問題が発生します。

が、私は次のエラーを取得する理由は考えていない。だからここ

Expected namespace prefix "pns111", but was "ns3" 

を、pns111は、Webサービスのための私の定義された名前空間です。なぜns3名前空間を受け取るのですか?なぜ具体的にns3ですか?私はどこにでもns3名前空間を定義していません、この名前空間は何とか特別ですか?

はまた、私はXML平等アサーションに関する別のエラーを取得:

Expected presence of child nodes to be 'true', but was 'false'. 

はあなたにも私は、このエラーのいずれかの手がかりを与えることはできますか?

答えて

0

XMLでは、名前空間に使用されるプレフィックスは、2つのXML文書が等しいとみなされる必要はありません。名前空間接頭辞は、名前空間URIの省略形以上のものであると考えるのが良いでしょう。

これらの2つのXML文書は、XML処理の観点から同じです。

<?xml version="1.0" encoding="UTF-8"?> 
<foo:root xmlns:foo="http://example.com"> 
    <foo:node>Hi!</foo:node> 
</foo:root> 

そして:最初の例foo

<?xml version="1.0" encoding="UTF-8"?> 
<bar:root xmlns:bar="http://example.com"> 
    <bar:node>Hi!</bar:node> 
</bar:root> 

は「http://example.com名前空間」を意味します。 2番目のものでは、barも同じ名前空間を指しています。

あなたのテストでは、という名前空間URIが期待どおりのものであることを確認する必要があります。どの接頭辞が使用されるかは、XML文書内で一貫している限り、関連しません。

指定した接頭辞を使用するかXMLを選択する場合は、XMLを生成するライブラリによって異なります。

関連する問題