C# Codeigniter:Soap客户端调用在PHP中运行良好,而不是在C中#
我在codeigniter中创建了一个SOAP服务器,这是我的控制器C# Codeigniter:Soap客户端调用在PHP中运行良好,而不是在C中#,c#,php,web-services,codeigniter,soap,C#,Php,Web Services,Codeigniter,Soap,我在codeigniter中创建了一个SOAP服务器,这是我的控制器 class Sample extends CI_Controller { function __construct() { parent::__construct(); $ns = base_url(); $this->load->library("Nusoap_library"); $this->load->library("Master");
class Sample extends CI_Controller {
function __construct()
{
parent::__construct();
$ns = base_url();
$this->load->library("Nusoap_library");
$this->load->library("Master");
$this->server = new soap_server(); // create soap server object
$this->server->configureWSDL("SOAP", $ns); // wsdl
$this->server->wsdl->schemaTargetNamespace = $ns; // server namespace
}
public function index()
{
$ns = base_url();
$input_array = array ('type' => "xsd:string"); // "addnumbers" method parameters
$return_array = array ("fruit" => "xsd:string");
$this->server->register('Master.fruits', $input_array, $return_array, "urn:SOAPServerWSDL", "urn:".$ns."/addnumbers", "rpc", "encoded", "Fruit Types");
$this->server->service(file_get_contents("php://input")); // read raw data from request body
}
public function client(){
$this->client = new nusoap_client(base_url()."index.php?wsdl", true);
$this->load->view("client");
}
}
服务器运行得很好,我创建了一个Mater类作为库
Master.php[库]
class Master {
public function fruits($type)
{
switch($type)
{
case 'red':
return "Apple";
break;a
case 'yellow':
return "banana";
break;
}
}
}
正如您看到的控制器一样,我还创建了一个客户机函数来测试客户机是否工作正常
这是我的客户端视图代码
$error = $this->client->getError();
if ($error) {
echo "<h2>Constructor error</h2><pre>" . $error . "</pre>";
}
$result = $this->client->call("Master.fruits", array("type" => "red"));
if ($this->client->fault) {
echo "<h2>Fault</h2><pre>";
print_r($result);
echo "</pre>";
}
else {
$error = $this->client->getError();
if ($error) {
echo "<h2>Error</h2><pre>" . $error . "</pre>";
}
else {
echo "<h2>Fruits</h2><pre>";
echo $result;
echo "</pre>";
}
}
$error=$this->client->getError();
如果($error){
回显“构造函数错误”。$error。“;
}
$result=$this->client->call(“Master.fruits”,数组(“type”=>“red”);
如果($this->client->fault){
呼应“断层”;
打印(结果);
回声“;
}
否则{
$error=$this->client->getError();
如果($error){
回显“错误”。$错误。“;
}
否则{
呼应“水果”;
回声$结果;
回声“;
}
}
调用SOAP服务器时,我在php中得到了完美的结果,但如果通过创建服务通过C#调用相同的SOAP服务器
我遇到了一些错误,比如它不应该像Master.fruits,它应该像Master.fruits,而且我在内容类型上也遇到了错误C代码可能很有用,你知道;)我只是添加了客户端服务,并不复杂,