通过Java代码调用Soap Web服务时,我得到了错误的响应302。如果我通过 Postman 点击相同的URL,它会给出响应。
有谁能为这个问题提供一个原因和解决方案吗
代码:
//创建SOAP连接
SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
SOAPConnection soapConnection = soapConnectionFactory.createConnection();
// Send SOAP Message to SOAP Server
String url = "http://localhost:8080/xyz";
SOAPMessage soapResponse = null;
try
{
soapResponse = soapConnection.call(createSOAPRequest(), url);
}
catch (SOAPException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
错误:
Mar 01,2022 8:29:10 PM com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection post SEVERE:SAAJ 0008:不良响应;找到com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:不良React:(302在com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.callSeibelClient.main(SeibelClient.java:58)的www.example.com(未知源)上找到)原因:com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:不良React:(400Bad request atcom.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.post(Unknown Source)... 2 more
谁能提出一个解决方案。
此外,如果我通过Postman命中URL和SOAP消息,它会给出响应,但在通过Java代码命中时,它会给出上述错误。
可能是安全问题或证书问题。
302也是一个重定向代码,但正如你在错误中看到的,它没有给出一个新的位置
1条答案
按热度按时间6ovsh4lw1#
我找到了我的情况下的解决方案,我改变了网址协议从http到https,这样它开始工作