3

以下のように定義された WSDL があります。定義の何が問題なのかわからないが、インポートしようとするたびにエラーが発生する

    <definitions targetNamespace="myservices" 
      xmlns:nslt2="myxsdspace"
      xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
      xmlns="http://schemas.xmlsoap.org/wsdl/" 
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
      xmlns:tns="urn:myservices" 
      xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
      xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/">
  <types>
    <schema elementFormDefault="unqualified" 
    targetNamespace="myservices" xmlns="http://www.w3.org/2001/XMLSchema"/>
      <xsd:schema>
        <xsd:import namespace="myxsdspace" schemaLocation="ApplicaitonForm_Latest.xsd"/>
      </xsd:schema>
  </types>
  <message name="processRequest">

... ... ...

以下のエラーが発生し、解決策を見つけることができませんでした。

SOAP-ERROR: Parsing Schema: can't import schema from 'myxsd.xsd', unexpected 'targetNamespace'='myxsdspace

よろしくお願いします

4

3 に答える 3

1

どのバージョンの PHP を使用していますか? SOAP に接続するためのコードを投稿できますか? PHP-SOAP インターフェースはまだ非常にうるさいので、満足するように WSDL または PHP にいくつかの変更を加える必要がある場合があります。手始めに、soap オプションを設定して、soap バージョンを強制してみてください。var_dumpまた、以下に示すように、エラーに対して実行して詳細を取得できるかどうかを確認してください。

$soapServer = 'http://yoursoap.com/wsdl';
$soapOptions = array(
        'soap_version'    => SOAP_1_1,
        'exceptions'      => true,
        'trace'           => 1,
        'wsdl_local_copy' => true,
        'keep_alive'      => true,
        'features'        => SOAP_SINGLE_ELEMENT_ARRAYS
        );

try
{
    $soapClient = new SoapClient($soapServer, $soapOptions);
}
catch (Exception $e)
{
    $message = "<h2>Connection Error!</h2></b>";
    var_dump($e);
}
于 2012-10-11T19:30:24.427 に答える
0

送信した WSDL は不完全です。ルート要素が閉じていないだけでなく、不完全な形式の他の要素があります。整形式の構文を持たない WSDL を解析することはできません。

于 2012-10-11T19:27:17.047 に答える