1

サービス (Axis2 ベース) にアクセスする Web サービス クライアント コードがあります。次のコードを使用して、リクエスト ヘッダーのコンテンツ タイプを変更してみました。

ServiceClient serviceClient = stub._getServiceClient();
Options options = serviceClient.getOptions();
options.setProperty(HTTPConstants.CHUNKED, "true");
options.setProperty(Constants.Configuration.ENABLE_HTTP_CONTENT_NEGOTIATION,"true");
options.setProperty(Constants.Configuration.MESSAGE_TYPE,"text/xml");

しかし、上記のコードはコンテンツ タイプでは機能しませんでした。しかし、コンテンツ タイプtext/xmlを使用すると機能しました。application/xmlコンテンツ タイプを として設定できませんでしたtext/xml

誰でもこれに対する解決策を教えてもらえますか?

4

1 に答える 1

1

クライアントがリクエストのフォーマットに間違ったSOAPバージョンを使用している可能性があります。text/xmlSOAP1.1コンテンツタイプです。application/soap+xmlSOAP1.2のコンテンツタイプです。

このページでは、SOAPバージョンを変更する方法を説明します。

serviceClient.getOptions().setSoapVersionURI(
              org.apache.axiom.soap.SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);

たとえば、SOAPバージョンを1.1に設定します。

于 2013-01-30T19:31:39.520 に答える