0

axis2 を使用して SOAP サービス クライアントを作成しています。wsdl2java でクライアント コードを生成してから、

Request req = new Request();
req.setParameter("XXX");

ServiceStub stub = new ServiceStub();                                     
stub.remoteService(req);            

実行時に、次を取得しますAxisFaultContent length must be specified

何が問題なのか、またはコンテンツの長さを指定する方法について何か考えはありますか?

4

2 に答える 2

3

よし、やっと手に入れた。thisによると、これは軸の長い間知られている問題です。

axis2 を使用して、サービス スタブに以下を追加しました

_operationClient.getOptions().setProperty(HTTPConstants.CHUNKED, false);

そしてそれはうまくいきました!

于 2012-10-11T13:07:38.487 に答える
1

デフォルトでチャンクを無効にすると、Axis2 は HTTP ヘッダーに content-length 値を含めると思います

XML RPC 仕様に従って:

ヘッダー要件

ヘッダーの最初の行の URI の形式は指定されていません。たとえば、サーバーが XML-RPC 呼び出しのみを処理している場合は、空の単一のスラッシュにすることができます。ただし、サーバーが着信 HTTP 要求の混合を処理している場合は、URI を使用して、XML-RPC 要求を処理するコードに要求をルーティングできます。(この例では、URI は /RPC2 であり、要求を "RPC2" レスポンダーにルーティングするようにサーバーに指示します。)

User-Agent と Host を指定する必要があります。

Content-Type は text/xml です。

Content-Length を指定する必要があり、正しくなければなりません

于 2012-10-10T12:39:53.440 に答える