I\'m trying to connect to a Java web-service using the Zend_Soap_Client
from the Zend Framework v1.9.0:
I am not using Zend framework, but had a similar problem with XMLHttpRequest in JavaScript. The solution was to specify the Content-Type in the SOAP request header.
var sr = '<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.w3schools.com/webservices/"> <SOAP-ENV:Body><ns1:CelsiusToFahrenheit><ns1:Celsius>32</ns1:Celsius></ns1:CelsiusToFahrenheit></SOAP-ENV:Body></SOAP-ENV:Envelope>';
http_request = new XMLHttpRequest();
http_request.open('POST', 'http://www.w3schools.com/webservices/tempconvert.asmx', true);
http_request.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
http_request.send(sr);
According to this listing, the exception indicates that the server hosting the web-service is not happy with your requests encoding:
Indicates that the peer HTTP server does not support the Content-type used to encode the request message. The message exchange is regarded as having completed unsuccessfully.
So you should check with the web-service provider concerning the content-type/encoding they expect.
A possible solution if you are using SOAP_1_2
is to change to SOAP_1_1
since that will alter the requests made.