آموزش SOAP > مفهموم HTTP Binding در SOAP
آشنایی با نحوه کار HTTP :
HTTP برای ارتباط از TCP/IP استفاده می کند . یک مشتری HTTP ، به سرور HTTP ، به وسیله
TCP متصل می شود . پس از برقراری ارتباط ، طرف مشتری ( Client ) ، می تواند درخواستی
مشابه درخواست زیر را به سرور ارسال نماید :
|
کد
|
POST /item HTTP/1.1
Host: 18SOAP.123.255.23SOAP
Content-Type: text/plain
Content-Length: 200
|
سرور درخواست ارسالی از مشتری خود را پردازش کرده و جوابی مشابه جواب زیر را بر می
گرداند . این جواب شامل یک کد وضعیت است ، که وضعیت درخواست را مشخص می کند :
|
کد
|
200 OK
Content-Type: text/plain
Content-Length: 200
|
در کد بالا ، سرور مقدار 200 ok را به مشتری خود برگدانده است ، این مقدار ،
مقدار استاندارد برای اعلام موفقیت درخواست در HTTP است .
اگر سرور نمی توانست ، درخواست مشتری خود را رمزنگاری و پردازش کند ، جوابی مشابه جواب
زیر را می فرستاد :
|
کد
|
400 Bad Request
Content-Length: 0
|
HTTP Binding در SOAP :
یک متد یا درخواست SOAP ، یک درخواست / جواب از نوع HTTP است ، که شامل قواعد خاص SOAP
می شود . یعنی :
HTTP + XML = SOAP
یک درخواست یا جواب SOAP به زبان
XML نوشته شده و به وسیله پروتکل HTTP فرستاده می شود .
یک درخواست HTTP از نوع SOAP ، حداقل شامل دو پارامتر یا سر عنوان است : Content-Type
و Content-Length .
پارامتر Content-Type :
پارامتر Content-Type ، برای درخواست SOAP نوع فایل پیام ( message ) را مشخص کرده
و در صورت دلخواه انکدینگ فایل XML را نیز شامل می شود . شکل کلی استفاده از این پارامتر
به صورت زیر است :
|
syntax
|
Content-Type: MIMEType; charset=character-encoding
|
|
مثال
|
POST /item HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8
|
پارامتر Content-Length :
این پارامتر نیز ، مقدار حجم یا تعداد بایت های ، پیام را تعیین می کند .
|
syntax
|
Content-Length : bytes
|
|
مثال
|
POST /item HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8
Content-Length : 250
|