آشنایی با نحوه کار 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 |
سرور درخواست ارسالی از مشتری خود را پردازش کرده و جوابی مشابه جواب زیر را بر می گرداند . این جواب شامل یک کد وضعیت است ، که وضعیت درخواست را مشخص می کند :
کد | ۲۰۰ OK Content-Type: text/plain Content-Length: 200 |
در کد بالا ، سرور مقدار ۲۰۰ ok را به مشتری خود برگدانده است ، این مقدار ، مقدار استاندارد برای اعلام موفقیت درخواست در HTTP است .
اگر سرور نمی توانست ، درخواست مشتری خود را رمزنگاری و پردازش کند ، جوابی مشابه جواب زیر را می فرستاد :
کد | ۴۰۰ 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 |