これは私の最初の投稿であり、私は本当に立ち往生しています。これが私がしなければならないことです: 私はプロキシを生成するために axis2 を使用して Java Web サービス クライアントを作成しており、添付ファイルを送信しようとしています。添付ファイルは base64 でエンコードする必要があり、プロキシはデータハンドラーを呼び出しています。エンコーディングを作成するために MimeUtility.encode を使用していますが、データハンドラーは出力ストリームを好みません。データハンドラーは文字列のみを処理しましたが、文字列はサーバー側で正しく解釈されません。方向性を教えていただければ、私はこれに何日も取り組んできました。これが私が持っている悪いコードです。現在、データハンドラーを読み取っていませんが、うまくいけば、私が何をする必要があるかを示しています:
int BUFFER_SIZE = 4096;
byte[] buffer = new byte[BUFFER_SIZE];
InputStream input = new FileInputStream("C:/test.docx");
OutputStream encodedOutput = MimeUtility.encode(new ByteArrayOutputStream(), "base64");
int n = input.read(buffer, 0, BUFFER_SIZE);
while (n >= 0) {
encodedOutput.write(buffer, 0, n);
n = input.read(buffer, 0, BUFFER_SIZE);
}
DataHandler dhandle = new DataHandler(encodedOutput, "base64");