hereの説明に従って、このカールを使用して接続が拒否されました:
curl -v -H "Content-Type: application/json" -H "Accept: application/xml" -H "X-Auth-Token: 756cfb31e062216544215f54447e2716" -H "Tenant-Id: your-tenant-id" -X POST "http://saggita.lab.fi-ware.org:8080/sdc/rest/vdc/{your-tenant-id}/productInstance"
適切な URL と思われるものに変更しました。
cat test-data | curl --insecure -v -H "Content-Type: application/json" -H "Accept: application/xml" -H "X-Auth-Token: 756cfb31e062216544215f54447e2716" -H "Tenant-Id: your-tenant-id" -X POST "https://saggita.lab.fi-ware.org:8443/sdc/rest/vdc/{your-tenant-id}/productInstance" --data-binary @-
コメント: ファイル test-data をペイロードとして使用しました。使用しているペイロードを後で示します。
その請願で(適切な認証トークンと私の環境に固有のパラメーターを使用して)、次のようになりました。
Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
XML ではなく JSON を期待しているように見えるので、次のように並べ替えました。
cat test-data | curl --insecure -v -H "Content-Type: application/xml" -H "Accept: application/xml" -H "X-Auth-Token: 756cfb31e062216544215f54447e2716" -H "Tenant-Id: your-tenant-id" -X POST "https://saggita.lab.fi-ware.org:8443/sdc/rest/vdc/{your-tenant-id}/productInstance" --data-binary @-
そして、ペイロードをどのように変更しても、次のメッセージが表示されました。
{"message":"The entity is not valid","code":42}
この 2 つのペイロードを試しました (Apache をインストールする例を使用)。
<productInstanceDto>
<vm>
<ip>MYIP</ip>
<fqn>same as hostname, I don't have DNS resolution</fqn>
<hostname>MYHOSTNAME</hostname>
</vm>
<product>
<productDescription/>
<name>apache2</name>
</product>
<attributes>
<key>custom_att_02</key>
<value>default_value_plain</value>
<type>Plain</type>
</attributes>
</productInstanceDto>
非常にミニマリストで明確なペイロードとして私が見ているもの
<productInstanceDto>
<vm>
<ip>MYIP</ip>
</vm>
<product>
<name>apache2</name>
</product>
</productInstanceDto>
ところで、fqdn (欠落している可能性があります。そのサーバーには dns 解決がありません)、バージョン (インストールする製品のバージョンを知る必要があるのはなぜですか。これは製品カタログには表示されません) などの非常に残念なフィールドが表示されます。 、VM_ID パラメータの欠落: 利用可能で、簡単で、一意です。
私が間違っていることは何ですか?ありがとう