C# Codeigniter:Soap客户端调用在PHP中运行良好,而不是在C中#

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");

我在codeigniter中创建了一个SOAP服务器,这是我的控制器

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代码可能很有用,你知道;)我只是添加了客户端服务,并不复杂,