You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ASP.Net .ashx辅助文件调用MASV API无法获取响应求助

MASV API对接报错排查:"An error occurred while sending the request."

我正在用ASP.NET异步HTTP处理程序对接MASV API,代码如下(已隐藏Teams ID和API Key,PackageRequest与UploadPackage是自定义类),但收到错误提示“An error occurred while sending the request.”,已经添加了async/await关键字,不知道问题出在哪。

Imports Newtonsoft.Json
Imports RestSharp

Public Class NewToken Implements IHttpAsyncHandler, IRequiresSessionState

Private _Delegate As AsyncProcessorDelegate
Protected Delegate Sub AsyncProcessorDelegate(context As HttpContext)

Public Function BeginProcessRequest(context As HttpContext, cb As AsyncCallback, extraData As Object) As IAsyncResult Implements IHttpAsyncHandler.BeginProcessRequest
    _Delegate = New AsyncProcessorDelegate(AddressOf ProcessRequest)
    Return _Delegate.BeginInvoke(context, cb, extraData)
End Function

Async Sub ProcessRequest(context As HttpContext) Implements IHttpAsyncHandler.ProcessRequest
    Try
        Dim converted As String = Await new_token()
        context.Response.Write(converted)
    Catch ex As Exception
        Dim whatIsIt As String = ex.Message
    End Try
End Sub

Public Sub EndProcessRequest(result As IAsyncResult) Implements IHttpAsyncHandler.EndProcessRequest
    _Delegate.EndInvoke(result)
End Sub

Public Async Function new_token() As Threading.Tasks.Task(Of String)
    Try
        Dim client As New RestClient("https://api.massive.app/v1")
        Dim request As New RestRequest("teams/ID/packages", Method.Post)
        request.AddHeader("X-Api-Key", "API KEY")
        Dim pkgRequest As New PackageRequest With {
            .description = "MASV",
            .name = "File Upload",
            .recipient = "test@test.com"
        }
        request.AddJsonBody(pkgRequest)
        Dim result As RestResponse(Of UploadPackage) = Await client.ExecuteAsync(Of UploadPackage)(request)
        Dim converted As String = JsonConvert.SerializeObject(result.Data)
        Return converted
    Catch ex As Exception
        Dim whatIsIt As String = ex.Message
        Return Nothing
    End Try
End Function

ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
    Get
        Return False
    End Get
End Property

End Class

排查方向:

  • 先修复API端点:你当前用的https://api.massive.app/v1是错误的,MASV官方API端点是https://api.masv.io/v1,这大概率是报错的核心原因。
  • 捕获完整异常:当前代码只拿了ex.Message,很多底层错误(比如证书验证失败、网络超时、序列化错误)藏在InnerException里,修改Catch块打印完整异常信息:
    Catch ex As Exception
        Dim fullError = ex.ToString()
        context.Response.Write(fullError)
        Return Nothing
    End Try
    
  • 检查自定义类序列化:确保PackageRequest的属性字段和MASV API要求完全匹配,比如是否需要驼峰命名,可通过JsonProperty特性指定:
    Public Class PackageRequest
        <JsonProperty("name")>
        Public Property Name As String
        <JsonProperty("description")>
        Public Property Description As String
        <JsonProperty("recipient")>
        Public Property Recipient As String
    End Class
    
  • 验证权限与参数:确认API Key有效且拥有创建Package的权限,同时把teams/ID/packages中的ID替换为真实的团队ID。
  • 检查网络环境:服务器是否能访问MASV API,有没有防火墙、代理拦截了请求。

内容的提问来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 12:31:01