Frage

Ich bin verwendet, um Dateien über SOAP / von C # basierten Web-Diensten zu senden und wir haben früher immer den „byte []“ Typen für den Inhalt der Datei.

Allerdings habe ich jetzt einen Java-Web-Service bekomme, die eine ByteArrayOutputStream will, und ich habe keine Ahnung, wie es von meinem C # Client zu senden.

Die WSDL zeigt es als

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

Hinzufügen des Web-Verweis auf das Projekt die folgenden leer erzeugt (abgesehen von dem inotify ... Sachen) Klassen


    public partial class byteArrayOutputStream : outputStream {
    }

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

Dies scheint völlig wertlos / unbrauchbar, so dass ich entweder müssen:

  • herausfinden, wie die Web-Referenz anders
  • hinzufügen

oder

  • herausfinden, wie diese generierten Klasse verwenden.

Als letztes werde ich das Java-Team bitten, nur ein Byte annehmen [] anstelle einen ByteArrayOutputStream, aber hat jemand eine Ahnung, wie ich im Moment Java verbrauchen basierten Web-Service-Dateien, um es zu senden von meiner C # Client?

War es hilfreich?

Lösung

ich wette, das ist ein Axis-Service, den Sie zu rufen versuchen. Einige ältere Versionen von Achsen nicht bestimmte Arten im apachesoap Namensraum zu definieren. Sie können einfach brauchen, um ihre Achse Version zu aktualisieren.

Als Alternative würde ich ihnen sagen, was ich .NET Web-Service-Schöpfer sagen: keine plattformspezifischen Arten von Web-Service zurück. Web Services sollen interoperabel sein - was ist der Sinn in einem byteOutputStream oder eine Karte oder einen Datensatz zu einer Plattform zurückkehren, die nichts über diese Art weiß

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top