如何通过SOAP从C#向byte WebService发送byteArrayOutputStream?

时间:2009-06-23 17:44:39

标签: c# .net web-services wsdl

我习惯通过SOAP向/从基于C#的Web服务发送文件,我们总是使用“byte []”类型作为文件内容。

但是,我现在有一个需要byteArrayOutputStream的java web服务,我不知道如何从我的C#客户端发送它。

WSDL将其显示为

<xs:element name="baos" type="tns:byteArrayOutputStream" minOccurs="0" />

将web引用添加到项目中会生成以下空(除了INotify ... stuff)类


    public partial class byteArrayOutputStream : outputStream {
    }

    public abstract partial class outputStream : object, System.ComponentModel.INotifyPropertyChanged {
       // boring INotifyPropertyChanged stuff removed
    }

这似乎完全没用/无法使用,所以我要么:

  • 弄清楚如何以不同方式添加网络参考

  • 弄清楚如何使用这个生成的类。

作为最后的手段,我会要求java团队接受一个byte []而不是ByteArrayOutputStream,但是,有没有人知道我现在如何使用这个基于java的Web服务向它发送文件来自我的C#客户端?

1 个答案:

答案 0 :(得分:1)

我敢打赌,这是您尝试拨打的Axis网络服务。某些旧版本的Axis无法在apachesoap命名空间中定义某些类型。他们可能只需要升级他们的Axis版本。

或者,我告诉他们我告诉.NET Web服务创建者:不要从Web服务返回特定于平台的类型。 Web服务是可以互操作的 - 将byteOutputStream或Map或DataSet返回到对该类型一无所知的平台有什么意义?

相关问题