2016-06-20 7 views
3

私はPOSTを受け入れ、そのパラメータを受け取り、特定の処理を行う標準のWebAPIを持っています。問題がVBAかASP.Net WebAPIなのかどうかは分かりませんので、私はクロス投稿です。POSTパラメータがVBAを使用してWeb APIに渡されない

私はAPIをテストするためにPostmanを使用しましたが、Key/Valueパラメータを投稿するとうまく動作します。

私も次のような方法と関連するパラメータを試してみましたが、同じ結果を取得しました:私はWebAPIの上のVisual Studioでデバッグするとき、私は、それがVBAで動作するようになって問題を抱えている

Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") 

を私がどこにでも投稿している値を見ることができません。リクエストが空白になっているようです。パラメータがなく、特定のパラメータが必要なため、WebAPIでエラーが発生しています。

これはVBA側の問題かASP.NET WebAPI側の問題なのか分かりませんので、誰かがハイライトしたり、間違っていることを察知してくれることを願ってクロス投稿しています。

Private Sub Command4_Click() 

Dim argumentString1 As String 

argumentString1 = "companyId=228&secondsToLog=15&subject=TestBackup123&description=TestDescription" & _ 
"&category=&tag=&ticketType=task&assignee=gavin&[email protected]" & _ 
"&submitterName=gavin&status=open&priority=normal" 

Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1") 
URL = "http://localhost:64874/api/zendeskhelper" 
objHTTP.Open "POST", URL, False 
objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded" 
objHTTP.send (argumentString1) 


txtresult = objHTTP.responsetext & ": " & argumentString1 
End Sub 

ウェブAPI構造は次のようになります。

public HttpResponseMessage Post([FromUri] TicketBody ticket) 
{ 
// Nothing is bound to ticket like it is in Postman 
} 

すべてのヘルプやポインタをいただければ幸いです!

+0

あなたは '[FromUri]'なしにしようとしたことがありますか? –

+0

私は今、パラメータが渡されている!私はFromURIが実際に何をしているのかを読まなければならないでしょう。これをソリューションとして投稿したい場合は、そのようにマークします! – Trinitrotoluene

+0

また、[FromBody] 'は、パラメータがリクエストの本体から来るだけであることを指定します。 –

答えて

3

データを送信する方法は、[FromUri]を削除する必要があります。 [FromUri]を使用すると、ASP.NETエンジンは要求の本体ではなく、Uriのデータを検索します。一方

public HttpResponseMessage Post(TicketBody ticket) 
{ 
    // 'ticket should not be null now 
} 

あなたが[FromUri]を維持する必要がある場合は、にお電話を変更することができます:

Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1") 
URL = "http://localhost:64874/api/zendeskhelper?" & argumentString1 
objHTTP.Open "POST", URL, False 
objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded" 
objHTTP.send ("") 
関連する問題