将数据从Wcf客户端流式传输到Java服务器
我们的情况:我们有一个java服务器端,下面是Web服务的定义:将数据从Wcf客户端流式传输到Java服务器,java,.net,wcf,web-services,streaming,Java,.net,Wcf,Web Services,Streaming,我们的情况:我们有一个java服务器端,下面是Web服务的定义: @WebMethod(operationName = "upload") void upload( @WebParam(name = "User", partName = "User", header = true) String user, @WebParam(name = "Pwd",partName = "Pwd",header = true) String password, @WebParam(name = "Fi
@WebMethod(operationName = "upload")
void upload(
@WebParam(name = "User", partName = "User", header = true) String user,
@WebParam(name = "Pwd",partName = "Pwd",header = true) String password,
@WebParam(name = "Filename",partName = "Filename",header = true) String filename,
@WebParam(name = "Data", partName = "Data",targetNamespace = "http://") @XmlMimeType("application/octet-stream")
DataHandler data) throws InvalidRequestException, ServiceException;
我们的客户是用c写的。“上载”方法自动生成的Wcf客户端请求参数为:
public partial class uploadRequest {
[MessageBodyMemberAttribute(Namespace="http://", Order=0)]
[XmlArrayAttribute(Form=XmlSchemaForm.Unqualified)]
[XmlArrayItemAttribute(Form=XmlSchemaForm.Unqualified, IsNullable=false)]
public Property[] Properties;
[MessageBodyMemberAttribute(Namespace="http://", Order=1)]
[XmlElementAttribute(Form=XmlSchemaForm.Unqualified, DataType="base64Binary")]
public byte[] Data;
public uploadRequest() {}
public uploadRequest(Property[] Properties, byte[] Data) {
this.Properties = Properties;
this.Data = Data;
}
}
这段代码运行良好,但我们需要数据作为流而不是字节[],因为我们想要上传大文件。现在,对于流媒体,我们需要为头部定义“属性”,而不是为主体定义“属性”(当然在配置文件中会有一些变化),但问题是:这是自动生成的
我的问题:我们如何强制wcf客户端为我们生成正确的代码?或者我们应该改变服务器端以实现这一点