Проблема пространства имен ответа мыла - PullRequest
1 голос
/ 24 июля 2010

Я создал простой мыльный сервер с использованием php. Используемый WSDL: http://fromyourdesign.com/webapp/wsdl/fromyourdesign.wsdl

Полученный ответ имеет несоответствующее пространство имен для тега 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>
* 1006простой мыльный сервер:
<?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 ();
?> 

Что можно сделать, чтобы решить эту проблему.Заранее спасибо.

Раджат

1 Ответ

2 голосов
/ 13 сентября 2010

Кажется, у вас неверный список параметров в вашем коде.Пространство имен должно быть четвертым параметром, а не третьим.

SoapVar :: SoapVar (строка $ data, строка $ encoding [, строка $ type_name [, строка $ type_namespace [, строка $ node_name [, строка $ node_namespace]]]]])

Привет Джулиан

...