WSDLは、多くの場合、他のWSDLとXMLスキーマをインポートします。インポート/インクルードされたすべてのWSDLとスキーマをダウンロードする簡単なツール
WSDLのURLを指定すると、WSDLおよびその他の参照されるWSDLとスキーマをダウンロードするツールがありますか?
理想的には、このツールはJavaまたはPerlに適しています。
WSDLは、多くの場合、他のWSDLとXMLスキーマをインポートします。インポート/インクルードされたすべてのWSDLとスキーマをダウンロードする簡単なツール
WSDLのURLを指定すると、WSDLおよびその他の参照されるWSDLとスキーマをダウンロードするツールがありますか?
理想的には、このツールはJavaまたはPerlに適しています。
ウェブサイトは
を説明してあるsoapUIは、インターフェイスの視聴者は、すべてのインポートおよび含まWSDLおよびXSDファイルとその含まれているタイプなど、インポートされたWSDLの契約全体の比較的簡単なナビゲーションと検査を可能にする、WSDLのコンテンツビューアを持っています、定義、など
http://www.soapui.org/userguide/interfaces/interfaceeditor.html
SoapUIには、WSDLをローカルファイルにエクスポートする機能もあります。プロジェクトを右クリックし、「定義のエクスポート」を選択します。 –
のAltova SchemaAgentツールは、WSDLや複数のスキーマを、ダウンロードし視覚化し、モデル化することができます。物事が複雑になるととてもいいです。
次のperlスクリプトは、あなたがやりたいことになります。
#!/usr/bin/perl
#
use strict;
use warnings;
use LWP::Simple;
sub downloadfile {
my ($url, $file) = @_;
getstore($url, $file);
}
sub getLinesMatching {
my ($file, $pattern) = @_;
open my $fh,'<',$file or die "Could not open $file: $!";
my @matching = grep /schemaLocation/,<$fh>;
my $size = @matching;
close $fh;
@matching;
}
sub processFile {
my ($url, $file) = @_;
downloadfile $url, $file;
my @lines = getLinesMatching $file,'schemaLocation';
if (@lines > 0) {
foreach my $line (@lines) {
$line =~ /schemaLocation=\"([^\"]*)/;
my ($url2) = $1;
print "$url2\n\n";
$url2 =~ /.*\/([^\/]*)/;
my ($file2) = $1;
print "$file2\n\n";
processFile ($url2, $file2);
}
}
}
my ($url) = @ARGV;
$url =~ /.*\/([^\/]*)/;
my ($base) = $1;
$base =~ s/\?/./;
print "Processing [$base] for [$url]\n\n";
processFile $url, $base;
要約すると、それは最初のファイルとして取得するためのURLとパラメータに渡されます。次に、そのファイルでschemaLocation属性をスキャンし、すべてのスキーマが見つかるか見つからないようになるまで、各ファイルを再帰的にダウンロードします。これは再帰的にインポートされた各XSDてWSDLファイルから作業し、現在のディレクトリ内のすべてのファイルを作成しようとします
perlのthisscript.perl wsdlURL
:スクリプトを呼び出すために
。
私は無料のAPIやコマンドラインツールを探しています。私はあまりアプリケーションの提案を探していません。 – zzztimbo