6

私に提供された Web サービスを使用する必要があります。これは、SOAP と添付ファイルを通信手段として使用します。また、認証の形式として WS-Security 1.0 を使用します (プレーン テキストのユーザーとパス)。

私は VB.NET に取り組んでいますが、Web サービスの経験は非常に少なく、WCF Web サービスを作成し、別のプロジェクトにサービス参照を追加して、プロキシ クラスを作成し、メソッドを使用するところまで行きます。

インターネットを検索したところ、VB.NET には SwA のネイティブ サポートがないことがわかりました。これは正しいですか? コミュニケーションにどのようにアプローチできるかの例と、これらの概念をどこでより意識できるかについてのいくつかの指示は素晴らしいでしょう.

4

3 に答える 3

1

添付データをバイト配列に入れて送信してみませんか?

Public Class SoapPackage
    Public Property AttachmentName() As String
        Get
            Return m_AttachmentName
        End Get
        Set
            m_AttachmentName = Value
        End Set
    End Property
    Private m_AttachmentName As String

    ' put your file data in here 
    Public Property AttachmentData() As Byte()
        Get
            Return m_AttachmentData
        End Get
        Set
            m_AttachmentData = Value
        End Set
    End Property
    Private m_AttachmentData As Byte()
End Class

これらの行に沿ってファイルをバイト配列にストリーミングします(添付ファイルのストリームを開き、この関数に渡します):

Public Shared Function StreamToByteArray(input As Stream) As Byte()
    Dim buffer As Byte() = New Byte(16 * 1024 - 1) {}
    Using ms As New MemoryStream()
        Dim read As Integer
        While (InlineAssignHelper(read, input.Read(buffer, 0, buffer.Length))) > 0
            ms.Write(buffer, 0, read)
        End While
        Return ms.ToArray()
    End Using
End Function

編集:

私のStreamToByteArray関数を単純に置き換えることができることを学びました:

Dim filePath as String = "Path\to\file"
Dim fileBytes as Byte() = System.IO.File.ReadAllBytes(filePath)
于 2012-06-07T21:03:31.560 に答える
1

私の最近のプロジェクトでは、c# で SOAP WebService と通信する必要がありました。これに対処するために、soapenvelope 全体を文字列で作成し、それを HttpWebRequest で Web サービスに送信しました。WebRespons を使用すると、Web サービスの応答を読み取り、それを文字列に戻すことができます。この文字列を XmlDocument に変換して、必要なオブジェクトを読み取ることができます。

ループを使用して(必要に応じて)必要に応じて石鹸封筒を簡単に作成し、石鹸封筒のヘッダーに認証を入れることもできます(この方法で行いました)

Web サービスの正しい soapenvelope 構文を取得するには、SOAPUI を使用することをお勧めします。SOAPUI は、非常に役立つ小さなアプリケーションです。このようにして、認証を配置する場所に気付くでしょう..

于 2012-06-05T14:20:24.180 に答える
0

ここからわかる限り:http ://www.w3.org/TR/SOAP-attachments添付ファイルはメッセージの本文内でインライン化する必要があります。つまり、KevinとTomからの回答を組み合わせてメッセージを作成します。

添付ファイル付きのSOAPは送信のみであり、標準ではないように見えます。さらに、かなり古いものです。

Webサービスを「そのまま」使用する必要があると仮定すると、可能であれば、サービスの作成者/提供者から追加のデータまたは例を取得しようとします。

于 2012-06-11T12:29:09.317 に答える