에 유효하지 있었고, 난이 오류 :하나 이상의 HTTP 요청 헤더 내가 채널 어드바이저 API 내 Java 응용 프로그램을 연결하기 위해 노력하고있어 SOAP 요청
: 여기<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Server was unable to process request. One or more http request headers was not valid for the SOAP request. </faultstring>
<detail/>
</soap:Fault>
</soap:Body>
</soap:Envelope>
내 요청입니다
String requestURL = "https://api.channeladvisor.com/ChannelAdvisorAPI/v7/InventoryService.asmx";
String request =
"<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:web='http://api.channeladvisor.com/webservices/'>"+
"<soapenv:Header>"+
"<web:APICredentials>"+
"<!--Optional:-->"+
"<web:DeveloperKey>XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX</web:DeveloperKey>"+
"<!--Optional:-->"+
"<web:Password>XXXXXXXXXX</web:Password>"+
"</web:APICredentials>"+
"</soapenv:Header>"+
"<soapenv:Body>"+
"<web:GetInventoryQuantity>"+
"<web:accountID>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX</web:accountID>"+
"<web:sku>XXXXXX-XX-XXX</web:sku>"+
"</web:GetInventoryQuantity>"+
"</soapenv:Body>"+
"</soapenv:Envelope>";
이상한 점은 SoapUI를 사용하여 동일한 요청을 시도하면 성공적인 응답을 얻을 수 있다는 것입니다.
어떻게 해결할 수 있습니까?
안녕하세요, 귀하의 답변에 감사드립니다. 나는 내 실수를 발견하고 이것을 해결했다. 문제는 SOAPAction입니다. 이 줄을 추가하여 이것을 수정했습니다 : connection.setRequestProperty ("SOAPAction", "urlToRequestedAction"); – mclovinn
@mclovinn : 답이 문제를 찾는데 도움이 되었기 때문에 기쁩니다. [승인 됨]으로 표시하는 것을 잊지 마십시오 (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). – Bogdan