0

JAX-WS と AXIS に関連する問題があります。クライアントとして JAX-WS (2.1.7)、サーバーとして Axis (1.4.x)。

すべて正常に動作しますが、応答を Java に読み取ることができません。

応答:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
  <ns1:myserviceResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://my/service">
   <ns1:myserviceReturn xsi:type="xsd:string">responsestring</ns1:myserviceReturn>
  </ns1:myserviceResponse>
 </soapenv:Body>
</soapenv:Envelope>

問題は、ns1:-namespace 宣言が から削除された場合myserviceReturn、JAX-WS が null 以外のものを返すことができることです。

JAX-WS に名前空間を強制的に無視させる方法、SOAP 応答を手動で変更して「ns1」を除外する方法、またはこの種の問題に対する他のアイデアを知っている人はいますか?

4

1 に答える 1

1

名前空間を含まないカスタム WSDL ファイルを作成する必要があります。このファイルは META-INF ディレクトリにあります。アプリが現在持っているデフォルトのものから始めて、ここに保存できます。

于 2009-06-10T22:19:14.143 に答える