代码之家  ›  专栏  ›  技术社区  ›  Allen Rice 0x6A75616E

如何通过Baseto SOAP将BytErayOutPutsFipe发送到Java WebService?

  •  0
  • Allen Rice 0x6A75616E  · 技术社区  · 15 年前

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

    但是,我现在得到了一个Java Web服务,它想要一个BytErayOutPutsFipe,我不知道如何从我的C客户端发送一个。

    WSDL将其显示为

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

    将Web引用添加到项目中会生成以下空值(除了inotify…材料类

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

    这似乎完全没有价值/无法使用,因此我要么需要:

    • 了解如何以不同方式添加Web引用

    • 了解如何使用这个生成的类。

    作为最后的手段,我将要求Java团队只接受字节[]而不是BytErayOutPutsFipe, 但是,有没有人知道我现在可以如何使用这个基于Java的Web服务来从我的C客户端发送文件给它?

    1 回复  |  直到 15 年前
        1
  •  1
  •   John Saunders    15 年前

    我敢打赌这是一个轴心国的网络服务,你试图调用。一些旧版本的Axis无法在 apachesoap 命名空间。他们可能只需要升级轴版本。

    或者,我会告诉他们我告诉.NET Web服务创建者的事情:不要从Web服务返回特定于平台的类型。Web服务应该是可互操作的——将ByteOutputstream、映射或数据集返回到一个对该类型一无所知的平台有什么意义?