byte []を返す単純なWebメソッドを作成していますが、byte[]はUTF-8でエンコードされています。関連するWSDLとSOAPメッセージを調査しましたが、基盤となるWebサービススタックはbase64エンコーディングを使用するようですか?
さまざまな理由で、リターンバイト[]をUTF-8からbase64に使用または再エンコードできません。base64エンコーディングをUTF-8エンコーディングに変更するアイデアはありますか?
これが私の関連するWebメソッド、SOAPメッセージ、およびWSDLの関連するタイプです。
Webサービスサーバー側のコード
[WebMethod]
public byte[] HelloWorld2()
{
return utf8encodedbytes;
}
SOAP応答
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<HelloWorld2Response xmlns="http://tempuri.org/">
<HelloWorld2Result>base64Binary</HelloWorld2Result>
</HelloWorld2Response>
</soap:Body>
</soap:Envelope>
WSDLの関連タイプ
xsd:base64Binary
よろしくお願いします、ジョージ