[英]Reasons for a HTTP 503 Service unavailable Error
在工作中,我必须实施EDI。 我必须创建一个XML消息,使用证书对其进行签名,使用Base64
对其进行编码,将其打包为XML结构,然后将其发送到服务器。 要将消息发送到soap服务,我使用HTTPSOAPConnection 。 我遇到的问题是,我总是收到503 service unavailable
错误。
我以为还可以,但该服务尚未启动,但是出于好奇,我尝试通过SoapUi
来实现。 将相同的消息发送到相同的服务端点,我将获得HTTP 200 Ok
以及响应消息。
分析此响应后,我发现里面有一个Base64
编码的xml,如服务文档所述。 解码后,我发现服务器向我发送了一个错误代码,表示该服务不可用。
但是,如何用我的java生成的请求得到503,而用SoapUi得到服务特定的响应,其中包含503服务特定的错误代码? 我唯一能想到的是,我的请求有问题。 但是Http 503还能有什么其他原因? 我如何分析错误(例如,将SoapUi的MimeHeader
与我的进行比较...)? 我可以为您提供的另一个信息是发生错误的块:从HTTPSOAPConnection的第245行开始
responseCode = httpConnection.getResponseCode();
// let HTTP_INTERNAL_ERROR (500) through because it is used for SOAP faults
if (responseCode == HttpURLConnection.HTTP_INTERNAL_ERROR) {
isFailure = true;
}
//else if (responseCode != HttpURLConnection.HTTP_OK)
//else if (!(responseCode >= HttpURLConnection.HTTP_OK && responseCode < 207))
else if ((responseCode / 100) != 2) {
log.log(Level.SEVERE,
"SAAJ0008.p2p.bad.response",
new String[] {httpConnection.getResponseMessage()});
throw new SOAPExceptionImpl(
"Bad response: ("
+ responseCode
+ httpConnection.getResponseMessage()
);
}
我收到此“错误响应”,其中包含503响应代码且没有响应消息。 我希望这些信息至少足以引起一些猜测。
看来,就像我得到这个,导致错误的端点URL。 我用作端点的URL实际上是WSDL的URL。 端点本身是另一个端点。 我一直没有让它工作,但是那是一些SSL,证书,密钥库等东西的原因,我必须先学习:P而且看起来很复杂...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.