2017-08-10 90 views
0

我试图在ReadyAPI中使用API​​,但它不适用于我。当我通过CURL执行请求时,它工作正常。任何帮助,将不胜感激。SoapUi请求返回404,但curl工作正常

这里是通过卷曲的请求的格式的一个样本,该端部被URL编码:

curl -k -X POST https://myHost.test/999299/profile/SAML2/SOAP/https%3A%2F%2FmyHost.test-999299 -H 
"Content-Type: text/xml" -d '{ 
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> 
    <S:Body> 
     body 
    </S:Body> 
</S:Envelope> 
}' 

这将返回我期望的正确响应。然而,当我使用这个在了SoapUI和URL进入一个新的REST服务它去掉了URL编码,并形成这样的请求:

POST https://myHost.test/999299/profile/SAML2/SOAP/https://myHost.test-999299 HTTP/1.1 
Accept-Encoding: gzip,deflate 
Content-Type: text/xml 
Content-Length: 555 
Host: myHost.test 
Connection: Keep-Alive 
User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_102) 

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> 
    <S:Body> 
     body 
    </S:Body> 
</S:Envelope> 

此请求返回404未找到。不知道URL编码是否重要,但是当我手动添加它时,它会给我一个内部服务器错误。我在soapui请求中丢失了什么。

回答

0

原来,我需要:

  1. 改变资源的字符串返回URL编码字符串的https%3A%2F%2FmyHost.test-999299

  2. 不得不缠上了我的身体括号,删除空格,换行符等,这给了我一个适当的回应。

{<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body>body</S:Body></S:Envelope>} 
0

万一别人stumples到这一点:对我来说这是公司的代理服务器设置,“本地主机”没有工作,但“127.0.0.1”漂亮的工作。

相关问题