php SoapClient schlägt fehl, wenn übergeben ein wsdl mit relativen Pfad-schemas

Ich habe Folgendes Problem:

Die Instanziierung von meinem SoapClient-Objekt schlägt fehl, wenn ich übergeben Sie es einer wsdl-Datei, importiert ein schema, relative Pfade zu verwenden. (Ich glaube, dies ist der Fall sowieso, basierend auf meiner Forschung)

Mein code ist wie folgt:

$wsdl = 'http://myproxy/webservice?wsdl';
$options = array( /* options */ );
$client = new SoapClient($wsdl, $options);

Den schema-import-Teil der wsdl:

<schema xmlns="http://www.w3.org/2001/XMLSchema">
  <import namespace="http://myprovider/namespace1/namespace1" schemaLocation="schema1.xsd"/>
  <import namespace="http://myprovider/namespace1/namespace2" schemaLocation="schema2.xsd"/>
  <import namespace="http://myprovider/namespace1/namespace3" schemaLocation="schema3.xsd"/>
</schema>

Den Fehler, dass ich bekommen:

SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://myproxy/webservice?wsdl' : Extra content at the end of the document

Forschung führte mich zu Artikeln wie diesem:

https://issues.apache.org/jira/browse/AXIS2-484

Was ich sagen kann, es scheint, habe ich zwei Möglichkeiten:

  • Bekommen mein provider zum ändern der schema-Wege zur absoluten
  • Bekommen mein provider mir eine Kopie des Schemas, so kann ich host auf meinem server, wo die SoapClient genannt wird, von

InformationsquelleAutor denormalizer | 2011-05-26

Schreibe einen Kommentar