gpt4 book ai didi

php - Soap 响应命名空间问题

转载 作者:行者123 更新时间:2023-12-04 16:55:18 24 4
gpt4 key购买 nike

我使用php创建了简单的soap服务器,使用的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>

简单的soap服务器代码是:
<?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 ();
?>

可以做些什么来解决这个问题。提前致谢。

拉贾特

最佳答案

看来,您的代码中有错误的参数列表。命名空间应该是第四个参数,而不是第三个。

SoapVar::SoapVar ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )

问候
朱利安

关于php - Soap 响应命名空间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3322899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com