xml — PHP SOAP-ERROR: схема синтаксического анализа: невозможно импортировать схему из xsd

Я использую некоторые веб-сервисы, написанные с использованием мыла.

Некоторые веб-службы работают, однако те, которые пытаются импортировать локальный xsd, не работают

<faultcode>WSDL</faultcode>
<faultstring>
SOAP-ERROR: Parsing Schema: can't import schema from 'http://localhost/myproject/_xsd/1'
</faultstring>

Ниже приводится выдержка из моего WSDL

<definitions
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"xmlns:wsp="http://www.w3.org/ns/ws-policy"xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy"xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:tns="http://ws.platform.commersite.com/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns="http://schemas.xmlsoap.org/wsdl/"targetNamespace="http://ws.platform.commersite.com/"name="PlatformControllerWSService">
<types>
<xsd:schema>
<xsd:import
namespace="http://mysite/"schemaLocation="http://localhost/myproject/1" />
</xsd:schema>
<xsd:schema>
<xsd:import
namespace="http://somesite/"schemaLocation="http://localhost/myproject/_xsd/2" />
</xsd:schema>
</types>

Загрузка файлов xsd идет в функцию php

public function _xsdAction($xsd) {
$this->response->setHeader("Content-Type", "text/xml");

$this->view->pick('server/_xsd' . $xsd);

$this->view->setVars(array(
'param1' => Server::config('param1'),
'param2'  => Server::config('param2'),
));
}

Также стоит отметить, что xsd1 импортирует xsd2

<xs:import namespace="{{ param1 }}" schemaLocation="{{ param2 }}xsd/2"/>

Я не уверен, что проблема может быть. Любая помощь будет оценена

0

Решение

Решено!

Проблема заключалась в том, что путь, используемый для поиска файла xsd, был неверным, поскольку он уже входил в папку / myproject / и не требовал от меня добавления местоположения / myproject / вручную.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]