1

これは私のnusoapサーバーphpコードです:

<?PHP
function Test( $name = '' )
{
    if( empty( $name ) )
    {
        throw new SoapFault( '-1' , 'Error !' );
    }
    return $name;
}

$WS = new nusoap_server;
$WS->configureWSDL('WebService', 'urn:WebService');
$WS->wsdl->schemaTargetNamespace = 'urn:WebService';
$WS->soap_defencoding = 'UTF-8';
$WS->decode_utf8 = false;

$WS->register(
    'Test',                       
    array( 'name' => 'xsd:string' ),
    array(
        'return' => 'xsd:string' 
    ),
    'urn:WebService',
    'urn:WebService#Test',
    'rpc',
    'encoded',
    'Test Function' 
);

$HTTP_RAW_POST_DATA = isset( $HTTP_RAW_POST_DATA ) ? $HTTP_RAW_POST_DATA : '';
$WS->service( $HTTP_RAW_POST_DATA );
?>

これは私のクライアントphpコードです:

<?PHP
$S = new SoapClient( 'http://localhost/server.php' );
try {
    echo $S->Test( '' );
} catch( SoapFault $s )
{
    echo '<pre dir="ltr">';
    print_r( $s->getMessage() );
    echo '</pre>';
}
?>

なぜ私のクライアントの出力は : looks like we got no XML document?

例外を投げて見たいError !

私の問題はどこですか?

4

1 に答える 1

2

サーバーのphpコードを編集して解決することで解決しました:

throw new SoapFault( '-1' , 'Error !' );

return new soap_fault('-1', '', 'Error !','');
于 2013-07-15T21:16:58.737 に答える