2011-09-17 11 views
0

私はWebアプリケーション(Springを使用して)内で使用されるWebサービスクライアントを実装しています。このクライアントはCXFが応答し、エラーメッセージを表示します。CXF Webサービスクライアント、呼び出されたWebサービスからの応答を処理する方法は?

エラーメッセージは次のとおりです。

Serverは、HTTPヘッダーの値を認識していなかったのSOAPAction私は問題を発見したが、私は自分のWebサービスを調整するために何ができるか分からない

応答処理。

以下のxmlレスポンスは問題なく動作します。

作品はOKです。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bar="http://www.dummyurl.com/service-v1.0/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <bar:StartSessionResponse> 
      <result>1</result> 
     </bar:StartSessionResponse> 
    </soapenv:Body> 
</soapenv:Envelope> 

サービスが実際に返します。

は失敗し、私にエラーを与えます!

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
     <StartSessionResponse xmlns="www.dummyurl.com/service-v1.0/"> 
      <result xmlns="">1</result> 
     </StartSessionResponse> 
    </soap:Body> 
</soap:Envelope> 

私の知る限り違いは成功で、

のxmlns = "www.dummyurl.com/service-v1.0/要素の配置でありますXMLそれはREPONSE方法にある失敗したXMLでは、enveloppeである。

iは応答を受け入れるようにCXFを説得することができます方法はありますか?またはサービスが異常な結果をバック与えている?

答えて

0

サービスは、最初の応答が適切であると仮定して、2番目のケースで間違った応答を戻しています。

最初のケースでは、 "www.dummyurl.com/service-v1.0/"は要素の名前空間です - StartSessionResponse、結果は名前空間で修飾されていません。 2番目のケースでは、StartSessionResponseは最初のサンプルと同じ名前空間を持ちますが、結果には異なる名前空間があり、結果としてxmlns = ""を取り出すとxmlが一貫しています。

関連する問題