svcutilを使用して、カタログサービスのOGC CSW 2.0.2 (07-006r1)標準に準拠するweb service endpointのプロキシクラスを生成しようとしています。svcutilコマンドラインにどのスキーマファイル(xsd)を含めるかを決定する方法は?
entire OGC schema filesをダウンロードして「D:/ temp/OGCSchemas /」ディレクトリに配置しました。
私が興味を持っているスキーマはCSWですが、CSWスキーマには他のスキーマが含まれています。そのため、セット全体をダウンロードしました。私のコマンドラインは、これまでのように見える
<wsdl:import namespace="http://www.opengis.net/cat/csw/2.0.2/requests" location="./xml-interfaces.wsdl"/>
<xsd:schema targetNamespace="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="2.0.2">
<xsd:include schemaLocation="../../csw/2.0.2/CSW-discovery.xsd"/>
<xsd:include schemaLocation="../../csw/2.0.2/CSW-publication.xsd"/>
</xsd:schema>
:
svcutil D:\temp\OGCSchemas\csw\2.0.2\examples\wsdl\2.0.2\*.wsdl D:\temp\OGCSchemas\csw\2.0.2\*.xsd D:\temp\OGCSchemas\filter\1.1.0\*.xsd D:\temp\OGCSchemas\ows\1.0.0\*.xsd /out:D:\temp\ogc.csw.proxy.cs
しかし、私はこのようになり、多くのエラー取得しています:
をあなたはこのようなものが表示されます。例えばError: Cannot import wsdl:port
Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on.
XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='http://www.opengis.net/cat/csw/2.0.2/soap']/wsdl:binding[@name='csw-SO
AP']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://www.opengis.net/cat/csw/2.0.2/wsdl']/wsdl:service[@name='CSW']/
wsdl:port[@name='csw-SOAP-Port']
このエラーは、私のコマンドラインにさらにxsdsを含めると言っていると思います。
私の質問はです。コマンドラインにどのxsdsを含めるかはどのようにして決められますか?
私はそれが含まれていたが、明らかにそうではないすべてのディレクトリに* .xsdを含めると思った。
編集#1 xsdファイルを含めるときのルールは何ですか?インポートまたは含まれるすべてのファイルを追加する必要がありますか?このような大きなスキーマで、私はそれらをすべて見つけるためのツールを構築する必要があると思っています。
はどこWSDLをインポートしようとしているのか? –
@ John:ローカルマシン:D:\ temp \ OGCSchemas \ csw \ 2.0.2 \ examples \ wsdl \ 2.0.2 \ http-binding。wsdl オンライン:http://schemas.opengis.net/csw/2.0.2/examples/wsdl/2.0.2/http-binding.wsdl – capdragon