Προς το περιεχόμενο

προβλημα με soap σε php


wolfakisevag

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας εχω αρχισει να μαθαινω soap σε php . εχω δημιουργησει τον soapserver & client και το αρχειο wsdl.παο να τα τρεξω με xamppserver και ενω ο server δεν μου βγαζει σφαλματα ο client μου βγαζει σφαλμα :

 

Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document in C:\xampp\htdocs\php\client.php:5 Stack trace: #0 [internal function]: SoapClient->__call('getQuote', Array) #1 C:\xampp\htdocs\php\client.php(5): SoapClient->getQuote('Ali') #2 {main} thrown in C:\xampp\htdocs\php\client.php

 

ο κωδικας ο wsdl :

><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:tns="http://127.0.0.1/ws/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
name="ws" targetNamespace="http://127.0.0.1/ws/">
 <wsdl:message name="getQuoteRequest">
   <wsdl:part name="boxer" type="xsd:string"/>
 </wsdl:message>
 <wsdl:message name="getQuoteResponse">
   <wsdl:part name="quote" type="xsd:string"/>
 </wsdl:message>
 <wsdl:portType name="ws">
   <wsdl:operation name="getQuote">
     <wsdl:input message="tns:getQuoteRequest"/>
     <wsdl:output message="tns:getQuoteResponse"/>
   </wsdl:operation>
 </wsdl:portType>
 <wsdl:binding name="wsSOAP" type="tns:ws">
   <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
   <wsdl:operation name="getQuote">
     <soap:operation soapAction="http://127.0.0.1/ws/getQuote"/>
     <wsdl:input>
       <soap:body namespace="http://127.0.0.1/ws/" use="literal"/>
     </wsdl:input>
     <wsdl:output>
       <soap:body namespace="http://127.0.0.1/ws/" use="literal"/>
     </wsdl:output>
   </wsdl:operation>
 </wsdl:binding>
 <wsdl:service name="ws">
   <wsdl:port binding="tns:wsSOAP" name="wsSOAP">
     <soap:address location="http://127.0.0.1/php/boxingQuete.php"/>
   </wsdl:port>
 </wsdl:service>
</wsdl:definitions>

 

o client:

><?php
$wsdl = "http://127.0.0.1/php/wsdl/ws.wsdl"; 
$client = new SoapClient($wsdl); 

print $result=$client->getQuote("Ali"); 


?>

 

o server :

><?php
   class boxing { 
       function getQuote($boxer) {
           if ($boxer == "Tyson") {
               $quote = "My main objective is to be professional
                         but to kill him. (2002)"; 
           } elseif ($boxer == "Ali") {
               $quote = "I am the greatest. (1962)"; 
           } elseif ($boxer == "Foreman") {
               $quote = "Generally when there's a lot of smoke,
                         there's just a whole lot more smoke. (1995)"; 
           } else {
               $quote = "Sorry, $boxer was not found."; 
           } 
           return $quote; 
       }
   } 
//server
   $soapserver = new SoapServer("http://127.0.0.1/php/wsdl/ws.wsdl");
   $soapserver->setClass("boxing");
   $soapserver->handle();
?> 

 

Αν καποιος μπορει να μου πει που εχω το λαθος η αν πρεπει κατι να προσθεσω ευχαριστω πολυ εκ των προτερων!!!

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...