0

vb を使用して WCF サービスを作成しました。サード パーティによって c# で記述されたクライアントには、2 つの出力パラメーターが必要です。

サービスは正常に動作しますが、out パラメータに問題があります。

SOを検索すると解決策が見つかり、プレフィックスを使用して2つのパラメーターを宣言できました。

以下の宣言に示すように、パラメーターの 1 つは文字列で、もう 1 つはオブジェクトの配列です。

Function getStatusAndCosts(<Out()> ByRef commStatus() As communicationStatus, <Out()> ByRef communicationError As String, ByVal strUser As String, ByVal strPwd As String, ByVal communicationId As Guid) As Boolean

クライアントを起動すると、配列は空を返しますが、文字列には正しいデータが入力されています。

    Dim bTest As Boolean = False
    Dim strTest As String ="-"
    Dim tmpcommListArray() As DocPos_WebService.IDocPoscommunicationStatus
    Dim tmpGuid As New Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
    bTest = client.getStatusAndCosts(tmpcommListArray, strTest, "yyy", "yyy", tmpGuid)

2 番目の出力パラメーターを削除しようとしました (以下の宣言を参照)

Function getStatusAndCosts(<Out()> ByRef commStatus() As communicationStatus, ByVal strUser As String, ByVal strPwd As String, ByVal communicationId As Guid) As Boolean

この場合、配列は正しいデータで埋められます。

結果なしでパラメーターの順序を変更しようとしました(文字列が満たされ、配列が空を返します)

どこが間違っていますか?vb で複数の out パラメータを使用することは可能ですか?

返信ありがとうございます。

4

0 に答える 0