ایجاد وب سرویس

نمونه ای از ایجاد یک وب سرویس جهت درج دستورپرداخت های اتوماتیک به سیستم مالی رو که قبلا نوشتم براتون میگذارم:




ارسال دستورپرداخت به سیستم خزانه داری

 

نام سرویس :  

PayOrder

 

مسیر سرویس :   

http://192.168.7.207:8011/PayOrderWebService.asmx

 

نام متدها  :

1.      ShowDepartment

2.      ShowCustomer

3.      ShowPayOrderType

4.      InsertPayOrder

 

 

 

1. متد  ShowDepartment

 

1.     جدول ورودی های وب متد   ShowDepartment  

ردیف

توضیحات

نوع

نام Property

نام کلاس

1

کد کاربر سیستم pap

int

userId

 

 

 

ClsPayOrder

 

2

شناسه عبور در سیستم pap

string

pass

 

3

کد شرکت دریافت کننده دستور پرداخت

short

 

CompanyID

 

 

 

 

 

2.     جدول ورودی های وب متد   ShowCustomer  

ردیف

توضیحات

نوع

نام Property

نام کلاس

1

کد کاربر سیستم pap

int

userId

 

 

 

ClsPayOrder

 

2

شناسه عبور در سیستم pap

string

pass

 

3

کد شرکت دریافت کننده دستور پرداخت

short

 

CompanyID

 

 

 

3.     جدول ورودی های وب متد   ShowPayOrderType  

ردیف

توضیحات

نوع

نام Property

نام کلاس

1

کد کاربر سیستم pap

int

userId

 

 

 

ClsPayOrder

 

2

شناسه عبور در سیستم pap

string

pass

 

3

کد شرکت دریافت کننده دستور پرداخت

short

 

CompanyID

 

 

 

 

کد   PayOrderWebService.wsdl  مربوط به متد ShowDepartment

    <s:element name="ShowDepartment">

        <s:complexType>

          <s:sequence>

            <s:element minOccurs="1" maxOccurs="1" name="userId" type="s:int" />

            <s:element minOccurs="0" maxOccurs="1" name="pass" type="s:string" />

            <s:element minOccurs="1" maxOccurs="1" name="companyId" type="s:short" />

          </s:sequence>

        </s:complexType>

      </s:element>

 

 

 

با اجرای   متد ShowDepartment  از وب سرویس ، اطلاعات مربوط به واحدهای سازمانی که شامل کد و شرح می باشد ، نمایش داده می شود. کد اطلاعات نمایش داده شده ، به عنوان پارامتر ورودی در صدور دستور پرداخت استفاده می شود.

در صورتی که یکی از پارامترهای ورودی (کد شرکت ، کد کاربری ، کلمه عبور) خالی باشد ، نمایش اطلاعات با اشکال مواجه خواهد شد.

 

نمونه کد فراخوانی ShowDepartment  

 در ابتدا وب سرویس مورد نظر را از آدرس ارائه شده به Web Reference های پروژه اضافه نمایید . برای نمونه آن را با نام  PayOrderWebService   به Web Reference اضافه می نماییم.

 

 

WebReference.PayOrderWebService obj = new WebReference.PayOrderWebService();

   

public int userId;

public string pass;

public Int16 companyId;

 

DataTable dt = obj.ShowDepartment(userId, pass, companyId);           

dgShowData.DataSource = dt;

 

 

در ادامه بایستی گفت روال مربوط به دو متد ShowCustomer و ShowPayOrderType ، نیز دقیقا مانند متد شرح داده شده (ShowDepartment  ) می باشد.

 

 

 

 

 

 

 

                              

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.     متد  InsertPayOrder

در این متد ، با پر کردن پارامترهای مورد نظر ذکر شده در جدول زیر ، دستور پرداخت در سیستم خزانه داری صادر می گردد.

 

 

جدول ورودی های وب متد   InsertPayOrder

ردیف

توضیحات

نوع

نام Property

نام کلاس

1

کد کاربر سیستم pap

int

userId

 

 

 

ClsPayOrder

 

2

شناسه عبور در سیستم pap

string

pass

 

3

کد شرکت دریافت کننده دستور پرداخت

short

 

CompanyID

 

4

تاریخ دستور پرداخت

string

OrderDate

5

نوع دستور پرداخت

int

TypeID

6

عنوان

string

Subject

7

مبلغ

int

Amount

8

کد طرف حساب

decimal

CustomerID

9

تاریخ نیاز

string

RequireDate

10

درخواست کننده

int

RequesterID

11

کد واحد سازمانی

int

DepartmentID

12

شرح

string

Description

13

کد زیر سیستم

int

SubSystemID

 

 

 

 

 

 

جدول مقدار های ثابت به ازای هر شرکت

شرح مربوط به پارامتر ورودی

نام فیلد

کد کاربر سیستم PAP این کد باید به درج دستور پرداخت در سیستم خزانه داری،  دسترسی داشته باشد.

UserId

پسورد کاربری پپنت

pass

کد شرکتی که دستور پرداخت در سیستم آن شرکت ثبت می گردد .مثلا گلرنگ سیستم  کد 445 و برای شرکت گل پخش اول کد 290 و .. میباشد.*

 

CompanyId

تاریخ دستور پرداخت می باشد که بایستی به فرمت "07/07/1395" باشد.

OrderDate

نوع دستور پرداخت، که ستون کدهای نمایش داده شده مربوط به خروجی متد ShowPayOrderType  می باشد.

TypeID

کد طرف حساب، که ستون کدهای نمایش داده شده مربوط به خروجی متد ShowCustomer می باشد.

CustomerID

تاریخ  نیاز می باشد که بایستی به فرمت "07/07/1395" باشد.

RequireDate

درخواست کننده می باشد که بایستی کد کاربری باشد که در سیستم PAP موجود می باشد.

RequesterID

کد واحد سازمانی ، که ستون کدهای نمایش داده شده مربوط به خروجی متد ShowDepartment  می باشد.

DepartmentID

کد سیستم صادر کننده دستور پرداخت  **

SubSystemID

 

 

*: جهت دریافت کد شرکتها ، لطفا با واحد IT هماهنگ بفرمایید.

**:جهت دریافت و ثبت کد سیستم صادر کننده دستور پرداخت ، لطفا با واحد IT هماهنگ بفرمایید.

 

 

کد   PayOrderWebService.wsdl  مربوط به متد InsertPayOrder

    <s:element name="InsertPayOrder">

        <s:complexType>

          <s:sequence>

            <s:element minOccurs="1" maxOccurs="1" name="UserID" type="s:int" />

            <s:element minOccurs="0" maxOccurs="1" name="pass" type="s:string" />

            <s:element minOccurs="0" maxOccurs="1" name="OrderDate" type="s:string" />

            <s:element minOccurs="1" maxOccurs="1" name="TypeID" type="s:int" />

            <s:element minOccurs="1" maxOccurs="1" name="CompanyID" type="s:short" />

            <s:element minOccurs="0" maxOccurs="1" name="Subject" type="s:string" />

            <s:element minOccurs="1" maxOccurs="1" name="Amount" type="s:int" />

            <s:element minOccurs="1" maxOccurs="1" name="CustomerID" type="s:decimal" />

            <s:element minOccurs="0" maxOccurs="1" name="RequireDate" type="s:string" />

            <s:element minOccurs="1" maxOccurs="1" name="RequesterID" type="s:int" />

            <s:element minOccurs="1" maxOccurs="1" name="DepartmentID" type="s:int" />

            <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />

            <s:element minOccurs="1" maxOccurs="1" name="SubSystemID" type="s:int" />

          </s:sequence>

        </s:complexType>

      </s:element>

 

با اجرای   متد InsertPayOrder از وب سرویس ، یک دستور پرداخت با مشخصات درج شده در سیستم خزانه داری ثبت می گردد .

در صورتی که درج با موفقیت صورت گیرد ، شماره دستور پرداخت ثبت شده به همراه کد "1" نمایش داده می شود.

 

در صورتی که یکی از پارامترهای ورودی   خالی باشد و یا با فرمت صحیح پر نگردد، نمایش اطلاعات با اشکال مواجه خواهد شد. و پیغام با کد "0" نمایش داده می شود.

 

نمونه کد فراخوانی InsertPayOrder

 

WebReference.PayOrderWebService obj = new WebReference.PayOrderWebService();

 

DataTable strRet = obj.InsertPayOrder( userId

, pass

, txtOrderDate.Text

, int.Parse(txtTypeID.Text)

, Int16.Parse(txtCompanyID.Text)

, txtSubject.Text

, int.Parse(txtAmount.Text)

, decimal.Parse(txtCustomerID.Text)

, txtRequireDate.Text,userId

, int.Parse(txtDepartmentID.Text)

, txtDescription.Text

, int.Parse(txtSubSystemId.Text));

                                

 

if (strRet != null)

dgShowData.DataSource = strRet;

 

 

 

 

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.