问题
在自行构造 HttpClient
请求 SOAP 接口之后,返回 500 错误,并且提示 NoSOAPAction
信息。
原因
造成这个问题的主要原因是因为缺少了 SOAPAction
标头,所以提示该信息。
解决
解决问题很简单,只需要在请求的时候,为其 Header
增加一个 SOAPAction
标头,并且将其值设置为你需要调用的 SOAP 接口。
例如:
String url = "http://192.168.0.254:150/service/service/Manage?wsdl";
request.setParameter("http.method","POST");
request.setParameter("http.parameter.param","ylz");
request.setParameter("http.header.Content-Type","application/xml");
request.setParameter("http.header.SOAPAction","Manage");