2009-05-29 26 views
2

Blackberryアプリケーションから.NET Webサービス(asmx)にバイト配列を送信しようとしています。Blackberryから.NET Webserviceへのバイト配列の受け渡し

私は、Sun Java Wireless Toolkit(WTK)2.5.2を使用して、Blackberryソリューションで使用するWebサービススタブを生成しています。 WTKプロジェクト設定では、JSR 172仕様を使用してスタブを生成しています。

私は以下の方法使用して、.NET 2005を使用してWebサービスを作成しました:私は、このWebサービスのWSDLからスタブを生成しますが、私は受け付けており

[WebMethod] 
public string UploadImage(byte[] Data, string Name) 
{ 
    //do stuff 
} 

を:「エラー:実測不明なシンプルタイプ:バイト[] "。私はこのスタブを生成する方法を使用していましたが、以前は何のエラーも受けていませんでしたが、すべての入力変数がシンプルな型であることが認められましたが、これを使ってカスタムオブジェクトの配列を返します。 WSDLファイルをチェックすると、タイプはbase64Binaryです。

データを渡すためにバイト配列以外のものがありますか?または、私はwebserviceがバイト配列を取ることができるようにするために欠けている何らかの設定がありますか?

答えて

4

おそらく、パラメータを文字列として指定するだけです。 Base64はバイナリデータのASCII表現です。

3

あなたは、バイト[]ではなく文字列であなたのメソッドを宣言しています。 クライアント側で次のスニペットを使用するよりも:

byte[] chunk = ...; 
String data= Base64OutputStream.encodeAsString(chunk, 0, chunk.length, false, false); 
UploadImage(data, name) 

and on the server side you can use: 

byte[] byteArray; 
byteArray = Base64.decode(data); 
関連する問題