← トランザクション個別解説 目次へ戻る
00.01. ProfileRequest
ProfileRequestは相手方のサービスがどのトランザクションに対応していて、それぞれどのURLでAPIを叩けば良いのかを知る場合に送ります。つまり、cXMLで通信する相手方にProfileRequestを送ることができれば相手方との通信ができるわけで、逆に言えばPcXMLでの通信をするネットワークに仲間入りするにはProfileRequestを送るURLが公表されている必要があります。しかし、誰にでもProfileRequestを送るURLが公表されていて誰からもProfileRequestを受け取ってProfileResponseを返してしまうと、APIを叩くURLが誰にでも知られてしまうため、通常はNetwork-hubに対して送り、Network-hubからのRequestのみ受け付ける状態でResponseを返します。これは他のAPIでも基本的に同様です。
click here to expand/close XML view
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE cXML SYSTEM "https://electric-blue-industries.com/schemas/cXML/1.2.052/cXML.dtd">
<!--
* Author: Electric Blue Industries Ltd.
* Author URI: https://electric-blue-industries.com/
* Copyright: (c)2015-2023 Electric Blue Industries Ltd.
* Contact: admin@electric-blue-industris.com
* License: GNU General Public License v3.0
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
* Reference: http://xml.cxml.org/current/cXMLReferenceGuide.pdf
-->
<cXML timestamp="0000-00-00T00:00:00+09:00" payloadID="">
<Header>
<From>
<Credential domain="DUNS">
<Identity>123456789</Identity>
</Credential>
</From>
<To>
<Credential domain="NetworkID">
<Identity>AN01000000001</Identity>
</Credential>
</To>
<Sender>
<Credential domain="DUNS">
<Identity>123456789</Identity>
<SharedSecret>SharedSecret</SharedSecret>
<CredentialMac
type="FromSenderCredentials"
algorithm="HMAC-SHA1-96"
creationDate="0000-00-00T00:00:00+09:00"
expirationDate="0000-00-00T00:00:00+09:00">CredentialMAC</CredentialMac>
</Credential>
<UserAgent>Procurement Application Name</UserAgent>
</Sender>
</Header>
<Request>
<ProfileRequest/>
</Request>
</cXML>
下記が返送されるProfileResponseの例です。他のAPIと同様にHeaderは存在しません。
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE cXML SYSTEM "https://electric-blue-industries.com/schemas/cXML/1.2.052/cXML.dtd">
<cXML>
<Response>
<ProfileResponse effectiveDate="2023-07-01T05:24:29-08:00" lastRefresh="2023-07-08T05:24:29-08:00">
<!-- APIごとに利用可能であればEntry Point URLが返される -->
<Transaction requestName="OrderRequest">
<URL>http://testseller.com/cgi/orders.cgi</URL>
<Option name="service">testseller.orders</Option>
</Transaction>
<Transaction requestName="PunchOutSetupRequest">
<URL>http://testseller.com/cgi/PunchOut.cgi</URL>
<Option name="service">testseller.signin</Option>
</Transaction>
</ProfileResponse>
</Response>
</cXML>