آموزش 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