OK... 戦略的パートナーのサイトに XML ページを投稿して、計算を行って応答コードを返すようにしようとしていますが、これも XML 経由です。
私はさまざまな PERL を使用しており、これを行うために LWP::UserAgent を使用しようとしていました...もっとエレガントな方法があれば、その方向を教えてください。
私は彼らのサーバーにアクセスしてコードを取得することができます...しかし、期待しているユーザー名とパスワードが正しくないため、サーバーへのアクセスを拒否します。ユーザー名とパスワードは実際の XML コードでは指定されていません。実際の POST メソッドの一部としてサーバーに渡されるはずですが、その方法がわかりません。
パートナーは次のフィードバックを提供します。
YOUR_XML_FILE、YOUR_USER、および YOUR_PASSWORD を、生成される XML とユーザー名とパスワードの組み合わせに置き換えます。これは、彼が perl スクリプトを持っているサーバーから行う必要があります。
wget --no-check-certificate --post-file YOUR_XML_FILE https://previewtest.clverify.com/webservice/exec -O previewsamplerequest.response.xml --http-user=YOUR_USER --http-password=YOUR_PASSWORD
これがどこで生成されるのか、または LWP::UserAgent にそれらを指定するためのオプションが何であるかはわかりません。誰かが以前にこれをやったことがありますか?
これが私のコードです:
sub ConsumerInfo {
my $cid = shift;
my $response = undef;
my $sendXML = &Create_ConsumerInfo_Request($cid);
if ($sendXML) {
&DoXMLUpload($sendXML);
my $browser = LWP::UserAgent->new(agent => 'perl post');
$browser->credentials('','','username','p@ssword');
$response = $browser->request(POST 'https://previewtest.clverify.com/webservice/exec',
Content_Type => 'text/xml',
Content => $sendXML);
print "Content-type:text/html\n\n";
print $response->error_as_HTML unless $response->is_success;
print $response->as_string;
} else {
&ErrorMsg("No XML Code Was Found.");
exit;
}
# ===============================================================
# Need to insert parser in here to convert this into an array.
# ===============================================================
return $response;
}