SoapFault exception: [HTTP] Unsupported Media Type when accessing Java web-service from PHP

前端 未结 2 1369
甜味超标
甜味超标 2021-01-05 04:50

I\'m trying to connect to a Java web-service using the Zend_Soap_Client from the Zend Framework v1.9.0:



        
相关标签:
2条回答
  • 2021-01-05 05:14

    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);
    
    0 讨论(0)
  • 2021-01-05 05:25

    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_2is to change to SOAP_1_1 since that will alter the requests made.

    0 讨论(0)
提交回复
热议问题