Exception de type soapfault: [HTTP] non pris en charge Type de support lors de l'accès à Java web service en PHP
Je suis en train d'essayer de vous connecter à un Java web service à l'aide de la Zend_Soap_Client
du Zend Framework v1.9.0:
<?php
include( 'Zend/Loader/Autoloader.php');
$autoloader = Zend_Loader_Autoloader::getInstance();
$client = new Zend_Soap_Client('https://webservice.com/webservice-war/webservice?wsdl'
, array('encoding'=> 'UTF-8'));
try{
$result = $client->find_customer(array('username' => 'user',
'password' => '123'), array('city' => 'some city'));
} catch(Exception $e){
echo $e;
}
echo '<pre>' . $client->getLastRequestHeaders() . '</pre>';
?>
Sorties:
SoapFault exception: [HTTP] Unsupported Media Type in
/Library/ZendFramework-1.9.0/library/Zend/Soap/Client.php:937
Stack trace:
#0 [internal function]:
SoapClient->__doRequest('_doRequest(Object(Zend_Soap_Client_Common),
'__doRequest('__soapCall('find_customer', Array, NULL, NULL, Array)
#6 [internal function]:
Zend_Soap_Client->__call('find_customer', Array)
#7 /Users/webservicetest/index.php(8):
Zend_Soap_Client->find_customer(Array, Array)
#8 {main}
POST /webservice-war/webservice HTTP/1.1
Host: webservice.com
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.2.6
Content-Type: application/soap+xml; charset=utf-8; action=""
Content-Length: 315
Une idée de ce qui pourrait être mauvais? L'url est correcte, étant donné que je reçois les fonctions disponibles lors de l'appel de
$client->getFunctions()
OriginalL'auteur Mads Mobæk | 2009-10-24
Vous devez vous connecter pour publier un commentaire.
Selon cette liste, à l'exception indique que le serveur hébergeant le service web n'est pas heureux avec vos demandes d'encodage:
De sorte que vous devriez vérifier avec le web-prestataire de service concernant le contenu-type/encodage ils attendent.
Une solution possible si vous utilisez
SOAP_1_2
est de changer deSOAP_1_1
depuis qui vont modifier les demandes formulées.Brillant, résoudre un problème identique que j'avais.
Essayez d'ajouter de l'en-tête Content-Type: text/xml; charset=utf-8 pour le soap 1.1 et Content-Type: application/soap+xml; charset=utf-8 pour le soap 1.2
OriginalL'auteur Henrik Opel
Je ne suis pas à l'aide de Zend framework, mais a eu un problème similaire avec XMLHttpRequest en JavaScript. La solution a été de spécifier le Type de Contenu dans le SAVON en-tête de requête.
OriginalL'auteur physicalattraction