我开始使用SOAP Web服务,要求所有请求都是POST。我没有太多的SOAP/XML经验,所以指导将非常感谢。虽然我已经谷歌了很多,我真的找不到任何明确的解决这个问题。我使用SOAP UI工具来探测这个API,然而,端点坚持我必须在请求中使用Content-Type报头作为multipart/form-data,当然,有效负载是SOAP信封
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://www.xxxxx.aa/theAPI/version3">
<soapenv:Header/>
<soapenv:Body>
<ver:exportUsers>
<!--Optional:-->
<ver:login>
<username>xxxxx</username>
<password>yyyyy</password>
<applicationkey>zzzzzz</applicationkey>
</ver:login>
</ver:exportUsers>
</soapenv:Body>
</soapenv:Envelope>
但是这个Content-Type头还需要一个'boundary'值,我不确定该提供什么
如果我把它去掉,我会得到下面的响应消息Bad content type. please use multipart
如果我把它设置为CRLF或任何其他变体的\r\n,我会得到
Content-Type: text/plain; charset=utf-8
X-GUploader-UploadID: BlahBlahBlahBlah
Content-Length: 44
Date: Wed, 30 Aug 2023 05:01:11 GMT
Server: UploadServer
Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
Invalid multipart request with 0 mime parts.
我不确定下一步可以尝试什么,也不确定在POST请求中将SOAP信封作为multipart/form-data发送的逻辑
1条答案
按热度按时间6g8kf2rb1#
正如供应商提供的进一步信息所示,此错误是一个“红鲱鱼”。初始信息将我引向错误的端点,该端点未正确配置,因此返回错误消息。更正端点地址后,该问题得到了纠正,并具有正确的预期行为。
正如上面的解释所指出的,我只能假设没有逻辑原因或方法将POST soap包作为Multipart表单提交。
我很抱歉浪费了人们的时间去追踪一个非常误导的错误信息