Я создал простой soap-сервер, используя php. Используемый WSDL находится по адресу: http://fromyourdesign.com/webapp/wsdl/fromyourdesign.wsdl
Ответ im получение имеет несоответствующее пространство имен для тега LoginResponse:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://roomplanner.icovia.com/pci"> <SOAP-ENV:Body> <ns1:LoginResponse xsi:type="http://roomplanner.icovia.com/pci"> <<<==== This shoud be <LoginResponse xmlns="http://roomplanner.icovia.com/pci"> <LoginResult> <register> <customer>Rajat Teotia</customer> </register> </LoginResult> </ns1:LoginResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Код для простого мыльного сервера:
<?php class Login { public function Login($username, $password) { $ns = 'http://roomplanner.icovia.com/pci'; $LoginResponse = new StdClass(); $LoginResponse->LoginResult->register->customer = 'Rajat Teotia'; return new SoapVar ( $LoginResponse, SOAP_ENC_OBJECT, $ns); } } $fydWsdl = "http://www.fromyourdesign.com/webapp/wsdl/fromyourdesign.wsdl"; ini_set ( "soap.wsdl_cache_enabled", "0" ); // disabling WSDL cache $server = new SoapServer ( $fydWsdl ); $server->setClass ( "Login" ); $server->handle (); ?>
Что можно сделать, чтобы исправить эту проблему. Заранее спасибо.
Раджу