ドキュメントをアップロードするための WCF サービスを開発しています。以前は使用byte[]
していましたが、使用するように要件が変更されました。Stream
WCF 用の外部 WSDL ファイルを使用しています。
byte[] を使用する関数の署名を Stream に変更しましたが、クライアントを作成すると、Upload 関数は以前と同じ入力パラメーターを要求します。
これで私を助けてくれませんか。
どうしたの。WSDL ファイルを変更できません。私の WSDL ファイルはbase64Binary
byte[] を使用していますが、これは Stream でも十分です。
サーバーコード:
public Response Upload(RequestClass req)
{
}
public RequestClass{
HeaderClass Header;
Stream content;
}
クライアントで生成されたコード:
public Response Upload(Header hdr, byte[] content);
更新しました:
<xs:element name="UploadDocumentReqMsg">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="UploadDocumentContent" nillable="true" type="str:Stream"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="UploadDocumentReqHdr" nillable="true" type="tns:RequestHeader"/>
WSDL での私のリクエストなので、byte[] と Stream の両方で、Stream を使用していました。