レジストリに別の既存のスキーマをインポートするスキーマをアップロードしようとしています。2 つのスキーマを zip に圧縮せずにアップロードしたいのですが、常に「XML スキーマ定義ファイルを読み取れませんでした」というエラーが発生します。 this.schema.needs ".
概念実証として、レジストリに /_system/governance/trunk/schemas/_1/commons/commons.xsd として格納される commons.xsdを「urn:commons:1」名前空間 の下にアップロードしました。
今、このインポートを持つ example.xsd をアップロードしたいと思います:
<xsd:import namespace="urn:commons:1" schemaLocation="../commons/commons.xsd"/>
2 つのスキーマを zip にパックしてアップロードすると、期待どおりに動作しますが、commons.xsd が既にレジストリにあるため、example.xsd スキーマのみをアップロードする必要があり、失敗します。
[2015-08-23 16:24:49,310] ERROR {org.wso2.carbon.registry.resource.ui.processors.AddResourceProcessor} - File upload failed.
org.apache.axis2.AxisFault: Failed to add resource /_system/governance/example.xsd. Could not read the XML Schema Definition file. this.schema.needs
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:367)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:413)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:224)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at org.wso2.carbon.registry.resource.stub.ResourceAdminServiceStub.addResource(ResourceAdminServiceStub.java:4818)
at org.wso2.carbon.registry.resource.ui.clients.ResourceServiceClient.addResource(ResourceServiceClient.java:679)
at org.wso2.carbon.registry.resource.ui.processors.AddResourceProcessor.execute(AddResourceProcessor.java:179)
at org.wso2.carbon.ui.transports.fileupload.AbstractFileUploadExecutor.executeGeneric(AbstractFileUploadExecutor.java:104)
at org.wso2.carbon.ui.transports.fileupload.FileUploadExecutorManager$CarbonXmlFileUploadExecHandler.execute(FileUploadExecutorManager.java:392)
ご覧のとおり、アップローダが新しいファイルを/_system/governance/trunk/schemas/_1/example/example.xsdの下にその名前空間「urn:example:1」を尊重して配置した場合、指定された相対ファイルに commons.xsd が見つかりました。パスですが、ルート ガバナンス フォルダーに配置するようです。
バグですか?
それを達成するための回避策を知っていますか?
WSO2 ガバナンス レジストリのバージョンは 4.6.0 です