VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả...

86
TÀI LIỆU HƯỚNG DẪN KẾT NỐI TRÊN NỀN TẢNG TÍCH HỢP CHIA SẺ DỮ LIỆU QUỐC GIA - VDXP 1

Transcript of VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả...

Page 1: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

TÀI LIỆU HƯỚNG DẪN KẾT NỐI TRÊN NỀN TẢNG

TÍCH HỢP CHIA SẺ DỮ LIỆU QUỐC GIA - VDXP

1

Page 2: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

MỤC LỤC

PHÊ DUYỆT TÀI LIỆU............................................................................................3

LỊCH SỬ THAY ĐỔI................................................................................................4

ĐỊNH NGHĨA CÁC TỪ VIẾT TẮT..........................................................................4

1. Mục đích..............................................................................................................5

2. Đối tượng đọc tài liệu.........................................................................................5

3. Mô hình kết nối chia sẻ dữ liệu qua VDXP.......................................................5

4. Mô tả giao thức VDXP.......................................................................................8

4.1 Các thành phần cơ bản..............................................................................9

4.2 Định dạng tệp tin mẫu (xsd)....................................................................10

4.3 Mô tả tiêu đề bản tin................................................................................12

4.4 Nội dung bản tin.......................................................................................14

4.5 Tệp đính kèm............................................................................................14

4.6 Bản tin lỗi..................................................................................................15

4.7 Mã hóa ký tự.............................................................................................15

4.8 Kêt luận.....................................................................................................15

5. Hướng dẫn tích hợp chia sẻ dữ liệu lên VDXP...............................................16

5.1 Tổng quan.................................................................................................16

5.2 Hướng dẫn tích hợp giữa LGSP và VDXP............................................175.2.1 Mục tiêu.................................................................................................175.2.2 Mô hình kết nối.....................................................................................175.2.3 Hướng dẫn cung cấp dịch vụ trên VDXP sử dụng LGSP.................185.2.3.1 Điều kiện tích hợp.............................................................................185.2.3.2 Quy trình cung cấp dịch vụ..............................................................195.2.4 Hướng dẫn khai thác dịch vụ trên VDXP sử dụng LGSP................225.2.4.1 Điều kiện tích hợp:............................................................................225.2.4.2 Quy trình khai thác dịch vụ.............................................................22

5.3 Hướng dẫn tích hợp HTTT và VDXP (dành cho đơn vị không sử dụng LGSP)...................................................................................................................24

5.3.1 Mục tiêu:................................................................................................24

2

Page 3: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

5.3.2 Mô hình kết nối:....................................................................................245.3.3 Hướng dẫn cung cấp dịch vụ lên VDXP.............................................255.3.3.1 Tạo file WSDL cho X-road service..................................................255.3.3.2 Xuất bản service lên môi trường mạng...........................................335.3.3.3 Đăng ký dịch vụ trên VDXP............................................................345.3.4 Hướng dẫn khai thác dịch vụ trên VDXP..........................................36

5.4 Kết luận.....................................................................................................39

6. Thủ tục đăng ký thành viên VDXP..................................................................39

7. Thủ tục công bố, khai thác dịch vụ trên VDXP..............................................40

8. Hướng dẫn kết nối các CSDL Quốc gia, HTTT Quốc gia qua VDXP...........41

8.1 Hướng dẫn kết nối hệ thống Cổng dịch vụ công quốc gia.........................41

8.2 Hướng dẫn kết nối hệ thống hành chính công quốc gia............................41

8.3 Hướng dẫn kết nối hệ thống báo cáo quốc gia............................................41

8.4 Hướng dẫn kết nối liên thông văn bản quốc gia.........................................41

9. PHỤ LỤC..........................................................................................................41

9.1 PHỤ LỤC 1...............................................................................................41

3

Page 4: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

4

Page 5: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

VIẾT TẮT

STT TỪ Ý NGHĨA

1 DVC Dịch vụ công

2 TTHC Thủ tục hành chính

3 CS Central Server – Máy chủ trung tâm

4 SS Security Server – Máy chủ bảo mật

5 BNĐP Bộ, ngành, địa phương

7 MSLCD Mạng số liệu chuyên dụng

8 SOAP Simple Object Access Protocol

DANH MỤC HÌNH VẼ

Hinh 1: Mô hinh triển khai VDXP.........................................................................................8Hinh 2: Mô hinh kết nối trên VDXP nội bộ Chính phủ.........................................................9Hinh 3: Mô hinh kết nối VDXP mạng công cộng................................................................10Hinh 4: Mô hinh tích hợp chia sẻ dữ liệu trên VDXP..........................................................18Hinh 5: Mô hinh kết nối giữa LGSP với VDXP..................................................................19Hinh 6: Mô hinh luồng chia sẻ dữ liệu và khai thác dữ liệu................................................20Hinh 7: Mô hinh kết nối giữa Hệ thống thông tin (Không dung LGSP) với VDXP..........25

5

Page 6: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

1. Mục đíchTài liệu trinh bày với các mục tiêu chính như sau:- Cung cấp cách nhin tổng quan hệ thống, mô hinh kết nối, giao thức trao

đổi dữ liệu trên Nền tảng VDXP. Ngoài ra tài liệu sẽ đề cập tới các thủ tục đăng ký, trách nhiệm chia sẻ khai thác của tất cả các bên tham gia.

- Hướng dẫn đơn vị đã triển khai LGSP cách thức kết nối khai thác chia sẻ dữ liệu trên VDXP.

- Hướng dẫn đơn vị không triển khai LGSP có thể kết nối trao đổi khai thác dữ liệu trên VDXP.

- Các tài liệu hướng dẫn kết nối với các dịch vụ chia sẻ dữ liệu đã cung cấp trên Nền tảng VDXP như: Cổng dịch vụ công, Hệ thống liên thông văn bản, Hành chính công, Báo cáo quốc gia …

2. Đối tượng đọc tài liệu- Các đơn vị BNĐP kết nối lên VDXP để khai thác hay cung cấp dữ liệu.- Các đơn vị tổ chức như ngân hàng, doanh nghiệp muốn kết nối chia sẻ dữ

liệu với nhau hay cung cấp dịch vụ trên VDXP.3. Mô hình kết nối chia sẻ dữ liệu qua VDXP

Nền tảng tích hợp chia sẻ dữ liệu VDXP được xây dựng trên nền tảng công nghệ mở X-Road và được triển khai với quy mô Quốc gia, hoạt động dưới tầng middleware theo mô hinh phi tập trung. VDXP vận hành chủ yếu trên hai môi trường mạng riêng biệt phục vụ từng đối tượng tham gia khác nhau:- Mạng số liệu chuyên dụng: được cung cấp bởi Chính phủ dành cho hoạt

động điều hành nội bộ Quốc gia. Cơ quan chính phủ cùng các Bộ ngành Địa phương tham gia hoạt động trong mạng này.

- Mạng công cộng: dành cho các tổ chức, doanh nghiệp trong và ngoài nước.

Dưới đây là mô hinh triển khai Nền tảng tích hợp chia sẻ dữ liệu Quốc gia:

6

Page 7: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

Hinh 1: Mô hinh triển khai VDXP

- VDXP vận hành trên môi trường mạng chính phủ (MSLCD)o Các hệ thống như Trục liên thông văn bản, Cổng dịch vụ công, các

cơ sở dữ liệu Quốc gia, tới các hệ thống do Văn phòng Chính phủ triển khai như eCapbinet, eReport hay do BNĐP cung cấp… được định hướng cung cấp dịch vụ dữ liệu trong môi trường mạng nội bộ chính phủ (MSLCD).

o BNĐP: hoạt động trên môi trường MSLCD để khai thác dữ liệu từ VPCP hay do các đơn vị khác cung cấp. Ngoài ra BNĐP có thể chủ động cung cấp dịch vụ dữ liệu hay trao đổi thông tin, khai thác dữ liệu với các đơn vị khác trong mạng.

- VDXP vận hành trên môi trường mạng công cộng (MSLCD)o Các đơn vị là các tổ chức, doanh nghiệp trong và ngoài nước có

thể sử dụng môi tưởng mạng VDXP để kết nối chia sẻ, trao đổi thông tin, khai thác dữ liệu với nhau không sợ bị can thiệp hay khai thác dữ liệu một cách không mong muốn. Ngoài ra, môi trường VDXP cũng giúp các tổ chức doanh nghiệp tiếp cận với dữ liệu Quốc gia, hay liên thông trao đổi thông tin một cách dễ dàng, hiệu quả, đảm bảo tốc độ, an toàn bảo mật.

- Việc tạo kết nối tới hệ thống VDXP là không phụ thuộc vào nền tảng phát triển ứng dụng, chỉ sử dụng giao thức SOAP làm tiêu chuẩn trong toàn bộ quá trinh trao đổi dữ liệu.

- Đối với các BNĐP có thể đã triển khai hay không triển khai Nền tảng tích hợp chia sẻ nội bộ LGSP đều có thể kết nối tới VDXP mà không gặp trở ngại gi về mặt kỹ thuật. Điều này cho phép không giới hạn các hệ thống

7

Page 8: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

thông tin kết nối và chia sẻ dữ liệu trên Nền tảng VDXP. Hinh dưới đây cho chúng ta cái nhin trực quan h`ơn:

Hinh 2: Mô hinh kết nối trên VDXP nội bộ Chính phủ

- Đối với các Tổ chức Doanh nghiệp trong và ngoài nước, việc kết nối chia sẻ dữ liệu với nhau hay với cơ quan chính phủ được thể hiện trực quan hinh số 3 sau đây:

Hinh 3: Mô hinh kết nối VDXP mạng công cộng

Mô tả hinh vẽ:

- Các Tổ chức, doanh nghiệp có thể giao tiếp với Bộ nganh địa phương thông qua mạng Internet.

8

Page 9: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

- Các Tổ chức, doanh nghiệp có thể chia sẻ dữ liệu lên VDXP mà không cần quan tâm việc hệ thống thông tin của minh có tương thích về mặt công nghệ hay không. Tất cả đều sử dụng websercice với giao thức SOAP là thông điệp giao tiếp.

4. Mô tả giao thức VDXPNhư chúng ta đã đề cập phần trước, VDXP được thiết kế và xây dựng

dựa trên nền tảng mở X-Road, do vậy các giao dịch khi qua mạng VDXP phải tuân thủ nghiêm ngặt các yêu cầu về định dạng giao thức do X-road đề ra. Trong phần này chúng ta sẽ mô tả giao thức X-Road phiên bản 4.0, là phiên bản mới nhất và đang được ứng dụng trên Nền tảng VDXP.

4.1 Các thành phần cơ bảnMột thành viên khi tham gia kết nối vào VDXP đều được cấp một mã

định danh duy nhất trên toàn hệ thống. Định danh của một thành viên trong mạng sẽ bao gồm một chuỗi các mã phân cấp được chia làm 03 thành phần cơ bản như sau: Member, Subsystem và Service.

a. Member: là một chuối ký tự nhận biết thành viên thuộc mạng X-Road nào được định nghĩa là một chuỗi như sau: MEMBER: [X-Road instance]/ [member class]/ [member code]. Trong đó:X-Road instance: mã tương ứng của mạng X-RoadMember class: mã xác định lớp thành viên ví dụ: cơ quan chính phủ, doanh nghiệp tư nhân, cá nhân.Member code: mã thành viên xác định duy nhất trong mạng X-roadVí dụ về mã thành viên X-Road: MEMBER/VN/GOV/000.00.00.H01.

b. SubsystemĐược quy định bởi chuỗi ký tự như sau:SUBSYSTEM:[subsystem owner]/[subsystem code]. Trong đó subsystem owner tương đương với member code, còn subsystem code là ký tự duy nhất biểu diễn đây là mã hệ thống con của member code. Ví dụ: SUBSYSTEM/VN/GOV/000.00.00.H01/h01ss01.

c. Service:Là chuỗi ký tự biểu diễn đường dẫn truy cập tới dịch vụ được cài đặt trên máy chủ bảo mật: SERVICE :[service provider] /[service code] /[service version]. Trong đó service provider chính là chuỗi ký tự kết hợp giữa Member và Subsystem, service code biểu diễn tên hàm được cài đặt và phân quyền sử dụng. Ngoải ra còn thêm thông số version để phân biệt và mang đến sự tương thích cho các bên khai thác dữ liệu. Ví dụ: SERVICE /VN/GOV/000.00.00.H01/h01ss01/getSecureData/v1

9

Page 10: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

d. Central serviceLà các tập dịch vụ được cung cấp một cách tập trung, mọi thành viên tham gia mạng X-Road đều có thể khai thác. Các dịch vụ này thường do nhà cung cấp mạng X-road, ở đây là chính phủ Việt Nam. Chuỗi ký tự nhận biết được mô tả như sau:CENTRALSERVICE:/[X-Road instance]/[service code].Ví dụ: CENTRALSERVICE:/VN/populationRegister_personData.

4.2 Định dạng tệp tin mẫu (xsd)Các tệp tin vẫn chuyển được xây dựng dựa trên giao thức vận chuyển SOAP phiên bản 1.1.Việc cài đặt máy chủ trong mạng nội bộ và không có mở kết nối ra Internet, hệ thống cần phải tải tệp identifiers.xsd về máy. Tệp identifiers mô tả nội dung các thuộc tính để nhận dạng bản tin được gửi từ đâu và gửi đến địa chỉ nào. Các nội dung này sẽ được áp dụng vào biên tập cấu trúc bản tin SOAP trước khi gửi đi. Một số lưu ý như sau trong tệp identifiers.xsd:Thẻ XRoadIdentifierType mô tả chung về các thuộc tính để nhận dạng các thành viên trong quá trinh gửi nhận.

<xs:complexType name="XRoadIdentifierType"><xs:sequence><xs:element minOccurs="0" ref="xRoadInstance"/><xs:element minOccurs="0" ref="memberClass"/><xs:element minOccurs="0" ref="memberCode"/><xs:element minOccurs="0" ref="subsystemCode"/><xs:element minOccurs="0" ref="serviceCode"/><xs:element minOccurs="0" ref="serviceVersion"/></xs:sequence><xs:attribute ref="objectType" use="required"/></xs:complexType>

Được định nghĩa như sau:

<xs:element name="xRoadInstance" type="xs:string"/><xs:element name="memberClass" type="xs:string"/><xs:element name="memberCode" type="xs:string"/><xs:element name="subsystemCode" type="xs:string"/><xs:element name="serviceCode" type="xs:string"/><xs:element name="serviceVersion" type="xs:string"/><xs:attribute name="objectType" type="XRoadObjectType"/>

10

Page 11: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<xs:simpleType name="XRoadObjectType"><xs:restriction base="xs:string"><xs:enumeration value="MEMBER"/><xs:enumeration value="SUBSYSTEM"/><xs:enumeration value="SERVICE"/><xs:enumeration value="CENTRALSERVICE"/></xs:restriction>

</xs:simpleType>

Thẻ XRoadClientIdentifierType được định nghĩa thừa kế từ thẻ XRoadIdentifierType để nhận biết máy chủ bảo mật gửi dữ liệu đi:

<xs:complexType name="XRoadClientIdentifierType"><xs:complexContent><xs:restriction base="XRoadIdentifierType"><xs:sequence><xs:element ref="xRoadInstance"/><xs:element ref="memberClass"/><xs:element ref="memberCode"/><xs:element minOccurs="0" ref="subsystemCode"/></xs:sequence></xs:restriction></xs:complexContent></xs:complexType>

Thẻ XRoadServiceIdentifierType  mô tả dịch vụ được cài đặt tại máy chủ bảo mật cung cấp dịch vụ, thẻ này cũng thừa kế từ thẻ XroadIdentifierType :

<xs:complexType name="XRoadServiceIdentifierType"><xs:complexContent><xs:restriction base="XRoadIdentifierType"><xs:sequence><xs:element ref="xRoadInstance"/><xs:element ref="memberClass"/><xs:element ref="memberCode"/><xs:element minOccurs="0" ref="subsystemCode"/><xs:element ref="serviceCode"/><xs:element minOccurs="0" ref="serviceVersion"/></xs:sequence>

11

Page 12: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

</xs:restriction></xs:complexContent></xs:complexType>

4.3 Mô tả tiêu đề bản tinTiêu đề bản tin được hiểu là message header của bản tin SOAP, chứa các thông tin cơ bản (metadata) của các bên khi giao dịch với nhau.Phần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận về khi vận truyển trên VDXP. Dưới đây là bảng mô tả ý nghĩa của các thuộc tính tiêu đề (header), cùng với yêu cầu sử dụng bắt buộc hay không:

Trường Kiểu Bắt buộc/

Tùy chọn

Mô tả

client XRoadClientIdentifierType B Xác định định danh máy chủ bảo mật khai thác dịch vụ.

service XRoadServiceIdentifierType T Xác định dịch vụ được yêu cầu.

centralService XRoadCentralService- IdentifierType

T Xác định dịch vụ trung tâm được yêu cầu.

id string B Định danh duy nhất cho thông điệp này. ID sẽ là một chuỗi thông điệp được đề xuất sử dụng mã UUID.

userId string T Người dùng thực hiện yêu cầu dịch vụ.

requestHash string T Trường này chứa hàm băm được mã hóa Base64 của bản tin yêu cầu dưới định dạng SOAP. Trong mỗi bản

12

Page 13: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

tin phản hồi lại yêu cầu, trường này được máy chủ bảo mật của bên cung cấp dịch vụ thêm tự động.

requestHash/ @algorithmId

string B Xác định thuật toán băm được sử dụng để tính giá trị của trường requestHash.

issue string T Nhận biết các nội dung, tài liệu... từ yêu cầu dịch vụ. Trường này được sử dụng lưu thông tin bên khai thác dịch vụ để kết nối các yêu cầu dịch vụ (và phản hồi) trong quy trinh hoạt động.

protocolVersion

string B Phiên bản giao thức thông điệp X-Road. Đối với giao thức thông điệp mặc định X-Road v6 là 4.0.

Mỗi khi một yêu cầu được gửi lên từ phía SS, trường service hoặc centralservice phải được chỉ định có giá trị. Nếu là trường centralservice thi SS sẽ tự động copy giá trị sang trường service trước khi gửi yêu cầu đi.Dữ liệu trả về trên header của bản tin phản hồi (message response) luôn chứa toàn bộ giá trị header của bản tin yêu cầu (message request)Trường requestHash thường được sử dụng để việc trao đổi thông tin giữa bên yêu cầu dịch vụ (service consumer) và bên cung cấp dịch vụ (service provider) được đảm bảo an toàn, chính xác. Trường requestHash thường chứa mã băm của nội dung bản tin SOAP (được hiểu là SOAP message body), sử dụng thuật toán băm được chỉ định trong trường requestHash/ @algorithmId, nội dung thường được chỉ định như sau:

13

Page 14: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

- Nếu trong SOAP message không có file đính kèm, toàn bộ nội dung trong phần message body sẽ được băm.

- Nếu SOAP có tệp đính kèm, sử dụng contentType: MIME Multipart, toàn bộ byte của part đầu tiên sẽ được băm.

Trường requestHash sẽ không khuyến khích thêm vào trong header của bản tin gửi yêu cầu. Trường này sẽ được tính toán và thêm vào trong bản tin trả về do SS phía cung cấp dịch vụ thực hiện. Ngược lại trường requestHash/@algorithmld được yêu cầu bắt buộc khi gửi bản tin yêu cầu dịch vụ đi.

4.4 Nội dung bản tinĐược hiểu là message body của bản tin SOAP, chứa nội dung chính của yêu cầu dịch vụ. Phần này nằm ngay dưới message header tuân theo đúng cấu trúc bản tin SOAP. Nội dung bản tin yêu cầu dịch vụ phải tuân theo quy ước mã hóa Document/Literal-Wrapped, theo đó các phẩn tử chứa nội dung trong request và response phải được phủ bởi một thẻ tương ứng. Ví dụ nội dung gửi đi trong message request chứa trong thẻ <SOAP-ENV:Body> thi nội dung trong message response nhận về cũng phải chứa trong thẻ <SOAP-ENV:Body>. Tiếp theo, tên phần tử của bản tin yêu cầu và phản hồi cũng phải tương đồng nhau, ví dụ nếu thẻ yêu cầu có tên là “age” thi phần tử trong bản tin phản hồi sẽ là: “ageResponse”Ngoài ra, tên của thẻ bọc (wrapper element) trong bản tin yêu cầu phải khớp với phẩn tử “serviceCode” của trường “service” trong Header.

4.5 Tệp đính kèmNếu bản tin yêu cầu có tệp đính kèm, bản tin đó phải được định dạng MIME multipart, cho phép tách riêng nội dung SOAP và các tệp đính kèm bằng cách chia bản tin thành nhiều phần để gửi đi. SOAP body sẽ được đặt tại phần đầu tiên, tiếp sau đó là các tệp đính kèm. MIME header của từng phần thường lưu giá trị có nội dung 8 bit, các SS sẽ không can thiệp hay sửa đổi gi các MIME header này mỗi khi xử lý bản tin.Bản tin SOAP có tệp đính kèm được SS hỗ trợ theo chuẩn mã hóa MTOM (MTOM-encoded), do đó các SS chấp nhận các bản tin MIME với contentType = “application/xop+xml”

4.6 Bản tin lỗiKhi gặp sự cố (lỗi kỹ thuật) trong quá trinh xử lý các bản tin, máy chủ SS thường trả vể máy khách yêu cầu dịch vụ một bản tin định dạng SOAP Fault Message, bao gồm các thông tin như: mã lỗi, nội dung lỗi … SOAP fault có

14

Page 15: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

thể chứa các tiêu đề X-Road và nó có thể được mô tả trong tệp WSDL của dịch vụ.

4.7 Mã hóa ký tựToàn bộ bản tin SOAP phải tuân theo chuẩn mã hóa ký tự được định nghĩa theo một tài liệu dạng XML. Chuẩn mã hóa nên được chỉ rõ tại tham số charset trên trường Content-Type trên Header.Nếu không có tham số charset trên HTTP header, chuẩn mã hóa UTF-8 sẽ được chỉ định mặc định cho việc xử lý ký tự trên máy chủ SS.Với các byte BOM mã hóa UTF-8 (Byte Order Mark) có thể được sử dụng trong phần đầu của thông báo XML. Máy chủ bảo mật sẽ loại bỏ các byte BOM khi xử lý tin nhắn.

4.8 Kêt luậnNội dung chi tiết các mẫu WSDL và bản tin SOAP được trinh bày chi tiết tại PHỤ LỤC 1 với đầy đủ mô tả khi tích hợp chia sẻ dữ liệu trên VDXP.Phần tiếp theo sẽ hướng dẫn cụ thể việc ứng dụng mô hinh, cách sử dụng bản tin X-Road trong việc cung cấp và khai thác dịch vụ trên VDXP.

5. Hướng dẫn tích hợp chia sẻ dữ liệu lên VDXP5.1 Tổng quan

Nền tảng tích hợp chia sẻ dữ liệu Quốc gia VDXP cung cấp đầy đủ các giải pháp kết nối giúp các đơn vị BNĐP, tổ chức Doanh nghiệp có thể dễ dàng tích hợp mà vẫn đảm bảo không ảnh hưởng tới quy trinh nghiệp vụ, việc chỉnh sửa được giảm thiểu tối đa. Các đơn vị chỉ cần sử dụng thông thạo công nghệ webservice để tạo ra và khai thác dịch vụ theo chuẩn SOAP và điều chỉnh theo hướng dẫn sau đây là có thể tích hợp thành công. Dưới đây là mô hinh chung cho việc tích hợp và khai thác dịch vụ trên Nền tảng tích hợp chia sẻ dữ liệu Quốc gia:

Hinh 4: Mô hinh tích hợp chia sẻ dữ liệu trên VDXP

Các hệ thống thông tin có thể khác thác dữ liệu qua các bước sau:

15

Page 16: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

- Cài đặt SS tại đơn vị sau khi đã hoàn thành thủ tục đăng ký với VPCP là đơn vị chủ quản.

- Tạo client service dưới dạng service consumer, gửi yêu cầu tuân theo cấu trúc SOAP do X-Road đề ra tới máy chủ SS.

- Máy chủ SS sẽ tự động gửi dữ liệu tới máy chủ SS bên cung cấp dịch vụ.- Các dich vụ tại phía cung cấp sẽ được xử lý thông qua một Adapter, là

các service provider được xây dựng theo chuẩn webservice được mô tả trong Mục 4.1 và PHỤ LỤC 1.c.

- Dữ liệu sẽ được truy xuất từ cơ sở dữ liệu và gửi trả lại phía yêu cầu ngay khi các thủ tục kiểm tra hoàn thành.

Toàn bộ quá trinh gửi nhận dữ liệu trên diễn ra đồng thời, có nghĩa là phía gửi yêu cầu sẽ hoàn toàn kiểm soát được bản tin của minh có đến được đích và lấy được dữ liệu hay bị lỗi trong quá trinh gửi nhận.

5.2 Hướng dẫn tích hợp giữa LGSP và VDXP5.2.1 Mục tiêu

- Tài liệu cung cấp cách thức kết nối, tích hợp, chia sẻ dữ liệu giữa LGSP với VDXP

- Tài liệu nhằm hướng dẫn cho BN-ĐP tổ chức kết nối tích hợp5.2.2 Mô hình kết nối

VDXP cho phép các hệ thống LGSP của BN-ĐP thực hiện tích hợp kết nối tương tự các hệ thống thông tin của BN-ĐP khác. Mô hinh kết nối giữa LGSP với VDXP được thể hiện như ở hinh vẽ dưới đây

Hinh 5: Mô hinh kết nối giữa LGSP với VDXP

Theo mô hinh kết nối này thi việc tổ chức kết nối giữa các hệ thống thông tin trong nội bộ BN-ĐP sẽ do LGSP của BN-ĐP đảm nhiệm. Kết nối giữa

16

Page 17: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

các hệ thống thông tin của BN-ĐP với VDXP để tích hợp, chia sẻ dữ liệu sẽ được thực hiện qua LGSP của BN-ĐP.Trong trường hợp BN-ĐP chưa có LGSP hệ thống VDXP sẽ cho phép kết nối các hệ thống thông tin của BN-ĐP đang quản lý trực tiếp với VDXP. Giao thức kết nối được thể hiện như quy trinh sau đây:

Hinh 6: Mô hinh luồng chia sẻ dữ liệu và khai thác dữ liệu

5.2.3 Hướng dẫn cung cấp dịch vụ trên VDXP sử dụng LGSP

Điều kiện tích hợp- BN-ĐP đã tham gia vào mạng VDXP để thực hiện các thủ tục kết nối,

tích hợp chia sẻ dữ liệu qua VDXP.- BN-ĐP có quyền quản trị các máy chủ bảo mật (Security Server) và có

các tài khoản để thực hiện cấu hinh dịch vụ dữ liệu5.2.3.1Quy trình cung cấp dịch vụ

a. Quy trinh- Tạo dịch vụ dữ liệu (webservice) theo nhu cầu nghiệp vụ của BN-ĐP.- Điều chỉnh file wsdl của dịch vụ dữ liệu cho phù hợp với giao thức gửi

nhận dữ liệu của VDXP.- Đăng ký dịch vụ dữ liệu sử dụng file WSDL lên máy chủ bảo mật.

17

Page 18: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

- Chỉnh sửa Endpoint của dịch vụ dữ liệu theo đúng môi trường hoạt động của dịch vụ dữ liệu.

- Phân quyền cho các thành viên khác trong mạng VDXP kết nối và khai thác dịch vụ dữ liệu của minh đã công khai trên mạng VDXP.

- Cung cấp thông tin dịch vụ vừa được công khai cho các đơn vị BN-ĐP có nhu cầu khai thác dịch vụ dữ liệu.

b. Các bước tạo webservice trên LGSPHướng dẫn dưới đây được áp dụng cho BNĐP đã triển khai LGSP. Đối

với các công nghệ trục khác tham khảo tài liệu hướng dẫn webservice chia sẻ dữ liệu chung cho các hệ thống thông tin khác.- Thực hiện tạo Proxy Service để chia sẻ dữ liệu. Trong ProxyService này

tùy vào nghiệp vụ dữ liệu mà khai báo các Mediator khác nhau để kết nối CSDL công khai các dữ liệu đơn vị đang có hoặc kết nối đến các hệ thống thông tin qua các giao thức khác để truy vấn dữ liệu cung cấp cho đơn vị có nhu cầu khai thác thông tin.

- Thực hiện khai báo WSDL với các thẻ hỗ trợ X-Road

18

Page 19: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

Tại bước này thực hiện bổ sung các thẻ theo X-road quy định vào file wsdl cần public hoặc copy file mẫu wsdl X-road vào ô khai báo với các thay đổi thông tin dịch vụ công khai trên wsdl theo nhu cầu.- Tệp WSDL được công khai với các thẻ bổ sung theo chuẩn X-Road như

tại mục c. Mẫu WSDL của Phụ lục 1.- Thực hiện deploy ProxyService lên máy chủ trục để Publish công khai

dịch vụ chia sẻ dữ liệu lên trục LGSP.+ Thông tin ProxyService được công khai trên trục

+ Thông tin file WSDL sau khi được công khai.

19

Page 20: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

- Thực hiện kết nối đến máy chủ SS để công khai webservice chia sẻ dữ liệu

- Thực hiện phân quyền cho các máy chủ SS khác kết nối sử dụng webservice chia sẻ dữ liệu

Thực hiện kiểm tra hoạt động của dịch vụ và cung cấp các thông tin về webservice dịch vụ chia sẻ dữ liệu cho các đơn vị có nhu cầu khai thác sử dụng.

5.2.4 Hướng dẫn khai thác dịch vụ trên VDXP sử dụng LGSP

Điều kiện tích hợp:- Điều kiện để sử dụng dịch vụ được trên VDXP là đơn vị sử dụng phải

được đơn vị cung cấp dịch vụ gán quyền cho phép sử dụng dịch vụ đó.- Để gọi được dịch vụ cần phải khai báo thông tin member (ID subsytem

của Security server) cung cấp dịch vụ, và thông tin member sử dụng dịch vụ trong phần header của thông điệp gửi đi (gọi dịch vụ)

5.2.4.1Quy trình khai thác dịch vụ- Thực hiện tạo Proxy Service để khai thác dịch vụ dữ liệu do đơn vị khác

cung cấp. Trong ProxyService có thể khai bác các Mediator nghiệp vụ như kết nối cơ sở dữ liệu để lưu trữ dữ liệu khai thác được vào CSDL hoặc chuyển dữ liệu đến các hệ thống có liên quan khác nhằm xử lý nghiệp vụ khai thác thông tin.

20

Page 21: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

- Thực hiện khai báo các thông tin kết nối đến dịch vụ chia sẻ dữ liệu của phía cung cấp và phía khai thác thông tin như sau

- Thực hiện tải Mediator để kết nối VDXP từ website được cung cấp. Lưu ý với các nền tảng trục tích hợp LGSP khác nhà cung cấp phần mềm tự phát triển theo công nghệ trục và tài liệu khác có liên quan đến tích hợp VDXP.

- Thực hiện deploy ProxyService lên máy chủ trục để Publish dịch vụ khai thác dữ liệu.

5.3 Hướng dẫn tích hợp HTTT và VDXP (dành cho đơn vị không sử dụng LGSP)

5.3.1 Mục tiêu- Phần này hướng dẫn các đơn vị BNĐP, tổ chức doanh nghiệp không triển

khai LGSP, có thể dễ dàng khai thác dữ liệu từ đơn vị khác hay cung cấp dữ liệu chia sẻ trên VDXP.

- Các đơn vị có thể triển khai cung cấp dịch vụ lên VDXP bằng kỹ thuật tạo webservice.

21

Page 22: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

5.3.2 Mô hình kết nối

Hinh 7: Mô hinh kết nối giữa Hệ thống thông tin (Không dung LGSP) với VDXP

- Mô hinh trên cho thấy các đơn vị, BNĐP có thể kết nối trực tiếp tới tới VDXP mà không cần phải triển khai LGSP làm nền tảng chia sẻ nội bộ. Việc đăng ký tạo các điểm kết nối tới VDXP có thể giải quyết được bài toán kết nối, chia sẻ trong và ngoài đơn vị.

- Các đơn vị có vị trí địa lý khác nhau có thể cài máy chủ SS riêng để kết nối chia sẻ dữ liệu.

5.3.3 Hướng dẫn cung cấp dịch vụ lên VDXP

Các bước để cung cấp dịch vụ trên VDXP cho các đơn vị khác sử dụng:

- Tạo file WSDL cho X-road service- Public service lên internet để các Client có thể gọi tới- Đăng kí service lên subsystem của Security Server- Gán quyền sử dụng service cho các SS member

5.3.3.1Tạo file WSDL cho X-road servicea. Cấu trúc tệp WSDL của X-road service:

- Tệp WSDL có dạng XML gồm các thành phần như sau:

22

Page 23: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

- Các khối types, message, portType, binding, service được định nghĩa dưới dạng XML như sau:

<wsdl:definitions name=”person_register” targetNamespace=”http://persons_register.x-road.ee”><wsdl:import namespace=”http://x-road.eu/xsd/xroad.xsd” location=”http://x-road.eu/xsd/xroad.xsd"/><wsdl:types><xsd:schema> … </xsd:schema></wsdl:types>

<wsdl:message> … </wsdl:message>

<wsdl:portType><wsdl:operation><wsdl:input> … </wsdl:input><wsdl:output> … </wsdl:output></wsdl:operation></wsdl:portType>

<wsdl:binding> … </wsdl:binding>

<wsdl:service><wsdl:port> … </wsdl:port>

23

Page 24: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

</wsdl:service></wsdl:definitions>

- Khối <types>: định nghĩa các kiểu dữ liệu và các phần tử (data types và elements) sử dụng trong file WSDL, có thể định nghĩa trực tiếp trong file WSDL hoặc định nghĩa 1 file riêng bên ngoài rồi import vào.Ví dụ: định nghĩa phần tử "person", "personListResponse" và kiểu dữ liệu của các phần tử con của nó:

<xsd:schema targetNamespace="http://persons_register.x-road.ee"><xsd:element name="personListResponse"><xsd:complexType><xsd:sequence><xsd:element name="person" type="tns:person" /></xsd:sequence></xsd:complexType></xsd:element><xsd:complexType name="person"><xsd:sequence><xsd:element name="personId" type="xsd:string" /><xsd:element name="firstName" type="xsd:string" /><xsd:element name="lastName" type="xsd:string" /><xsd:element name="birthDate" type="xsd:date" /><xsd:element name="personContact" type="tns:contact" /></xsd:sequence></xsd:complexType></xsd:schema>

- Khối <messgaes>: định nghĩa kiểu thông điệp của các phần tử được khai báo trong khối <types>, và header:Ví du:

<wsdl:message name="xrdheader"><wsdl:part name="client" element="xrd:client"/><wsdl:part name="service" element="xrd:service"/><wsdl:part name="userId" element="xrd:userId"/><wsdl:part name="id" element="xrd:id"/><wsdl:part name="protocolVersion" element="xrd:protocolVersion"/></wsdl:message><wsdl:message name="personListRequest">

24

Page 25: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<wsdl:part element="tns:personList" name="parameters"/></wsdl:message><wsdl:message name="personListResponse"><wsdl:part element="tns:personListResponse" name="parameters"/></wsdl:message>

- Khối <portType> định nghĩa tên của X-road services, và định nghĩa đầu ra, đầu vào (input, output) của service thông qua kiểu thông điệp (message) đã được định nghĩa trong khối <message>Ví du: personList là tên service, personListRequest là thông điệp input của service, personListResponse là thông điệp output của service:

<wsdl:portType name="person_register"><wsdl:operation name="personList"><wsdl:documentation><xrd:title xml:lang="et">Đăng kí nhân viên</xrd:title></wsdl:documentation><wsdl:input message="tns:personListRequest"/><wsdl:output message="tns:personListResponse"/></wsdl:operation></wsdl:portType>

- Khối <binding> định nghĩa cách kết nối giữa service với giao thức thông điệp của Xroad.Ví dụ:

<wsdl:binding name="person_registerSOAP" type="tns:person_register"><soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="personList"><soap:operation soapAction=""/><xrd:version>v1</xrd:version><wsdl:input name=”personList”><soap:body use="literal"/><soap:header message="tns:xrdheader" part="client" use="literal"/><soap:header message="tns:xrdheader" part="service" use="literal"/><soap:header message="tns:xrdheader" part="userId" use="literal"/><soap:header message="tns:xrdheader" part="id" use="literal"/><soap:header message="tns:xrdheader" part="protocolVersion" use="literal"/>

25

Page 26: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

</wsdl:input><wsdl:output name=”personListResponse”><soap:body use="literal"/><soap:header message="tns:xrdheader" part="client" use="literal"/><soap:header message="tns:xrdheader" part="service" use="literal"/><soap:header message="tns:xrdheader" part="userId" use="literal"/><soap:header message="tns:xrdheader" part="id" use="literal"/><soap:header message="tns:xrdheader" part="protocolVersion" use="literal"/></wsdl:output></wsdl:operation></wsdl:binding>

- Khối <service> định nghĩa địa chỉ URL của dataserviceVí dụ: địa chỉ của service được định nghĩa như sau:

<wsdl:service name="person_register"><wsdl:port binding="tns:person_registerSOAP" name="person_registerSOAP"><soap:address location="http://localhost:8080/person_register/services/person_registerSOAP"/></wsdl:port></wsdl:service>

b. Ví dụ file WSDL mô tả service đăng kí nhân viên.

<wsdl:definitionsxmlns:xrd="http://x-road.eu/xsd/xroad.xsd"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:tns="http://persons_register.x-road.ee"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="person_register"

targetNamespace="http://persons_register.x-road.ee"><wsdl:types><xsd:schema targetNamespace="http://persons_register.x-road.ee"><xsd:import namespace="http://x-road.eu/xsd/xroad.xsd"

schemaLocation="http://x-road.eu/xsd/xroad.xsd" /><xsd:element name="personList"><xsd:complexType>

26

Page 27: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<xsd:sequence><xsd:element name="firstName" type="xsd:string"><xsd:annotation><xsd:appinfo><xrd:title xml:lang="et">Tên</xrd:title></xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="lastName" type="xsd:string"><xsd:annotation><xsd:appinfo><xrd:title xml:lang="et">Họ</xrd:title></xsd:appinfo></xsd:annotation></xsd:element></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="personListResponse"><xsd:complexType><xsd:sequence><xsd:element name="person" type="tns:person"></xsd:element></xsd:sequence></xsd:complexType></xsd:element><xsd:complexType name="contact"><xsd:sequence><xsd:element name="phone" type="xsd:string" maxOccurs="unbounded" minOccurs="0"><xsd:annotation><xsd:appinfo><xrd:title xml:lang="et">Số điện thoại</xrd:title></xsd:appinfo></xsd:annotation></xsd:element>

27

Page 28: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<xsd:element name="e-mail" type="xsd:string" maxOccurs="unbounded" minOccurs="0">

<xsd:annotation><xsd:appinfo><xrd:title xml:lang="et">Email</xrd:title></xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="address" type="xsd:string" maxOccurs="1" minOccurs="0"><xsd:annotation><xsd:appinfo><xrd:title xml:lang="et">Địa chỉ</xrd:title></xsd:appinfo></xsd:annotation></xsd:element></xsd:sequence></xsd:complexType><xsd:complexType name="person"><xsd:sequence><xsd:element name="personId" type="xsd:string"><xsd:annotation><xsd:appinfo><xrd:title xml:lang="et">Mã</xrd:title></xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="firstName" type="xsd:string"><xsd:annotation><xsd:appinfo><xrd:title xml:lang="et">Tên</xrd:title></xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="lastName" type="xsd:string"><xsd:annotation><xsd:appinfo>

28

Page 29: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<xrd:title xml:lang="et">Họ</xrd:title></xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="birthDate" type="xsd:date"><xsd:annotation><xsd:appinfo><xrd:title xml:lang="et">Ngày sinh</xrd:title></xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="personContact" type="tns:contact"><xsd:annotation><xsd:appinfo><xrd:title xml:lang="et">Liên hệ</xrd:title></xsd:appinfo></xsd:annotation></xsd:element></xsd:sequence></xsd:complexType></xsd:schema></wsdl:types><wsdl:message name="xrdheader"><wsdl:part name="client" element="xrd:client" /><wsdl:part name="service" element="xrd:service" /><wsdl:part name="userId" element="xrd:userId" /><wsdl:part name="id" element="xrd:id" /><wsdl:part name="protocolVersion" element="xrd:protocolVersion" /></wsdl:message><wsdl:message name="personListRequest"><wsdl:part element="tns:personList" name="parameters" /></wsdl:message><wsdl:message name="personListResponse"><wsdl:part element="tns:personListResponse" name="parameters" /></wsdl:message><wsdl:portType name="person_register"><wsdl:operation name="personList">

29

Page 30: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<wsdl:documentation><xrd:title xml:lang="et">Đăng kí nhân viên</xrd:title></wsdl:documentation><wsdl:input message="tns:personListRequest" /><wsdl:output message="tns:personListResponse" /></wsdl:operation></wsdl:portType><wsdl:binding name="person_registerSOAP" type="tns:person_register">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />

<wsdl:operation name="personList"><soap:operation soapAction="http://persons_register.x-road.ee/NewOperation" /><xrd:version>v1</xrd:version><wsdl:input><soap:body use="literal" /><soap:header message="tns:xrdheader" part="client" use="literal" /><soap:header message="tns:xrdheader" part="service" use="literal" /><soap:header message="tns:xrdheader" part="userId" use="literal" /><soap:header message="tns:xrdheader" part="id" use="literal" /><soap:header message="tns:xrdheader" part="protocolVersion" use="literal" /></wsdl:input><wsdl:output><soap:body use="literal" /><soap:header message="tns:xrdheader" part="client" use="literal" /><soap:header message="tns:xrdheader" part="service" use="literal" /><soap:header message="tns:xrdheader" part="userId" use="literal" /><soap:header message="tns:xrdheader" part="id" use="literal" /><soap:header message="tns:xrdheader" part="protocolVersion" use="literal" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="person_register"><wsdl:port binding="tns:person_registerSOAP" name="person_registerSOAP">

30

Page 31: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<soap:address location="http://localhost:8080/person_register/services/person_registerSOAP" />

</wsdl:port></wsdl:service>

</wsdl:definitions>

Tệp WSDL trên mô tả service "đăng kí nhân viên" person_register theo đúng cấu trúc của Xroad WSDL đã mô tả ở trên trong đó:- Khối <type> mô tả các đối tượng phần tử (element) và kiểu dữ liệu của đối tượng mà service sẽ sử dụng: personList, personListResponse, contact, person- Các khối <message> định nghĩa các thông điệp như message header xrdheader, và các thông điệp request, response sử dụng làm đầu vào và đầu ra của service personListRequest, personListResponse- Khối <portType> định nghĩa tên service personList, và đầu vào và đầu ra của service là các thông điệp đã được định nghĩa ở khối <message> tương ứng là personListRequest, personListResponse- Khối <binding> định nghĩa cách kết nối service với giao thức thông điệp, ở đây sử dụng kiểu bao document/ literal để kết nối service với giao thức thông điệp- Khối <service> định nghĩa địa chỉ URL của service là http://localhost:8080/person_register/services/person_registerSOAPChú ý: Việc tạo file WSDL có thể sử dụng các tool gen tự động nhưng cần kiểm tra lại để chắc chắn nó phải đúng chuẩn của X-road. Cần chú ý phần định nghĩa namespace trên cùng phải khai báo đúng các namespace của X-road

<wsdl:definitionsxmlns:xrd="http://x-road.eu/xsd/xroad.xsd"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:tns="http://persons_register.x-road.ee"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="person_register" targetNamespace="http://persons_register.x-road.ee">

31

Page 32: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

- Trong trường hợp đơn vị xây dựng dịch vụ và xuất bản tệp WSDL trong mạng nội bộ (không ra internet) các đường dẫn namespace phía trên sẽ không thể truy cập được, khi đó cần download các file và import trực tiếp vào project, tham khảo các file ở PHỤ LỤC 1.c.c. Viết code cho X-road service đã định nghĩa ở tệp WSDL- Để viết Xroad service có thể dùng các ngôn ngữ Java, C#, python...thực thi nghiệp vụ bạn muốn- Ví dụ sau service đơn giản chỉ in ra thông tin nhân viên từ phía Client gửi lên:

package ee.x_road.person_register;

import java.util.logging.Logger;import javax.jws.WebMethod;import javax.jws.WebParam;import javax.jws.WebResult;import javax.jws.WebService;import javax.xml.bind.annotation.XmlSeeAlso;import javax.xml.ws.RequestWrapper;import javax.xml.ws.ResponseWrapper;

/*** This class was generated by Apache CXF 3.2.0* 2017-09-25T11:15:05.145+03:00* Generated source version: 3.2.0**/

@javax.jws.WebService(serviceName = "person_register",portName = "person_registerSOAP",targetNamespace = "http://person_register.x-road.ee",wsdlLocation = "classpath:person_register.wsdl",endpointInterface = "ee.x_road.person_register.PersonRegister")

public class Person_RegisterSOAPImpl implements PersonRegister {private static final Logger LOG = Logger.getLogger(Person_RegisterSOAPImpl.class.getName());

32

Page 33: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

public ee.x_road.person_register.Person personList(java.lang.String firstName, java.lang.String lastName) {LOG.info("Executing operation personList");System.out.println(firstName);System.out.println(lastName);try {ee.x_road.person_register.Person _return = null;return _return;} catch (java.lang.Exception ex) {ex.printStackTrace();throw new RuntimeException(ex);}}

}5.3.3.2Xuất bản service lên môi trường mạng

- Sau khi tạo được file WSDL và Xroad service, ta cần deloy project lên 1 server public để các client có thể gọi tới thông qua địa chỉ ip- Ví dụ địa chỉ WSDL như sau:http://localhost:8080/person_register/services/person_registerSOAP?wsdl- Địa chỉ service như sau:

- Địa chỉ Endpoint của service đã được định nghĩa trong file WSDL- Chú ý: Để các Client ở nơi khác có thể gọi tới ta cần thay localhost bằng địa chỉ ip của server deloy service.

5.3.3.3Đăng ký dịch vụ trên VDXPBước 1: Đăng nhập vào máy chủ bảo mật XroadBước 2: Vào menu “Security Server Clients” rồi chọn client

33

Page 34: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

Bước 3: Chọn tab “Services” rồi chọn “ADD WSDL” để điền địa chỉ URL của file WSDL vào. Sau đó nhấn OK.

Bước 4: Chọn service vừa mới thêm, sau đó chọn “ENABLE” để kích hoạt service.

34

Page 35: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

Gán quyền sử dụng service cho các SS member

- Click vào 1 service -> Click ACCESS RIGHTS

- Tim kiếm đến đơn vị (Member) cho phép sử dụng service -> Click "ADD SUBJECTS"

35

Page 36: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

Kết thúc quá trinh public dịch vụ lên VDXP.5.3.4 Hướng dẫn khai thác dịch vụ trên VDXP

- Điều kiện để sử dụng dịch vụ được trên VDXP là đơn vị sử dụng phải được đơn vị cung cấp dịch vụ gán quyền cho phép sử dụng dịch vụ đó.- Để gọi được dịch vụ cần phải khai báo thông tin member (ID subsytem của Security server) cung cấp dịch vụ, và thông tin member sử dụng dịch vụ trong phần header của thông điệp gửi đi (gọi dịch vụ)<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelopexmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"xmlns:id="http://x-road.eu/xsd/identifiers"xmlns:xrd="http://x-road.eu/xsd/xroad.xsd"><SOAP-ENV:Header><xrd:client id:objectType="MEMBER"><id:xRoadInstance>EE</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER1</id:memberCode><id:subsystemCode>SUBSYSTEM1</id:subsystemCode></xrd:client><xrd:service id:objectType="SERVICE"><id:xRoadInstance>EE</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER2</id:memberCode><id:subsystemCode>SUBSYSTEM2</id:subsystemCode>

36

Page 37: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<id:serviceCode>personList</id:serviceCode><id:serviceVersion>v1</id:serviceVersion></xrd:service><xrd:userId>EE1234567890</xrd:userId><xrd:id>4894e35d-bf0f-44a6-867a-8e51f1daa7e0</xrd:id><xrd:protocolVersion>4.0</xrd:protocolVersion></SOAP-ENV:Header>

<SOAP-ENV:Body><ns1:personList><firstName>Nguyễn Văn</firstName><lastName>A</lastName></ns1:personList></SOAP-ENV:Body>

</SOAP-ENV:Envelope>- Trong đó thẻ <client> khai báo thông tin member của SS phía sử dụng dịch vụ- Thẻ <service> khai báo thông tin member cung cấp service và thông tin của servicenhư tên service và version của service

Ví dụ:

package xrd4j;import javax.xml.rpc.ParameterMode;

import javax.xml.rpc.encoding.XMLType;

import javax.xml.soap.SOAPMessage;import xrd4j.client.Call;import xrd4j.client.SOAPClient;import xrd4j.common.member.ClientMember;import xrd4j.common.member.ServiceMember;import xrd4j.common.message.XroadHeader;import xrd4j.common.util.MessageHelper;import xrd4j.common.util.SOAPHelper;

public class ExampleCall {public static void main(String[] args) {try {String url = "http://security.server.com/";

37

Page 38: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

// Thông tin Client gọi dịch vụClientMember consumer = new ClientMember("EE","GOV", "MEMBER1","SYSSYTEM1");

// Thông tin dịch vụServiceMember producer = new ServiceMember("EE","GOV", "MEMBER1","SYSSYTEM1", "personList");producer.setNamespaceUrl("http://test.x-road.fi/producer");

// Gán thông tin Client và dịch vụ vào headerXroadHeader header=new XroadHeader(consumer, producer, MessageHelper.generateId());// Gán usernameheader.setUserId("jdoe");//Địa chỉ SS phía cung cấp dịch vụurl="https://10.145.35.139";Call call=new Call(url);call.setHeader(header);//Gọi dịch vụObject outMsg=call.invoke("personList ",new Object[]{"Nguyễn văn","A"},String.class);System.out.println("rt="+outMsg);}catch(Exception e) {e.printStackTrace();}

}

5.4 Kết luậnVới những hướng dẫn ở trên, các đơn vị BNĐP hay các Tổ chức doanh nghiệp đã triển khai LGSP hay không, hoàn toàn có thể dựa vào đó để xây dựng cho minh các bộ Adapter cung cấp các dịch vụ cần chia sẻ hay có thể khai thác dịch vụ từ những đơn vị khác.Tiếp sau đây, chúng ta sẽ đến với phần hướng dẫn cách đăng ký thủ tục tham gia mạng VDXP và các thủ tục, trách nhiệm cần phải biết trước khi công bố hay khai thác dịch vụ trên VDXP.

6. Thủ tục đăng ký thành viên VDXP

38

Page 39: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

Các đơn vị muốn tham gia làm thành viên của VDXP để chia sẻ, khai thác dữ liệu cần thực hiện thủ tục với các bước như sau:- Đầu mối kỹ thuật của đơn vị liên hệ với VPCP, đơn vị quản trị hệ thống

VDXP để đăng ký làm thành viên tham gia mạng VDXP. Phiếu đăng ký làm thành viên được công khai bởi VPCP với các thông tin cần thiết như: Thông tin đơn vị vận hành kỹ thuật máy chủ SS, Thông tin cán bộ hỗ trợ xử lý kỹ thuật máy chủ SS, thông tin về đơn vị hành chính chủ quản máy chủ bảo mật SS.

- Đơn vị chuẩn bị máy chủ bảo mật với cấu hinh tối thiểu được nêu trong tài liệu hướng dẫn triển khai máy chủ bảo mật để chuẩn bị cài đặt

- Đơn vị gửi phiếu đăng ký 02 chứng thư số theo biểu mẫu được công khai để xác thực máy chủ SS và mã hóa dữ liệu đến VPCP, Ban Cơ Yếu Chính phủ để được cấp phát chứng thư số phục vụ đăng ký máy chủ bảo mật SS của đơn vị.

- Đối với các máy chủ cần kết nối MSLCD để chia sẻ, khai thác dữ liệu cần liên hệ VPCP, Cục BDTW để xin cấp phát IP MSLCD thực hiện các thủ tục hòa mạng MSLCD theo quy định của cục BDTW Bộ TTTT.

- Đơn vị thực hiện theo các tài liệu hướng dẫn cài đặt, cấu hinh máy chủ bảo mật SS theo hướng dẫn đính kèm để triển khai kết nối máy chủ SS vào mạng VDXP

Đơn vị thực hiện quản lý vận hành máy chủ bảo mật theo tài liệu hướng dẫn đính kèm và quy trinh vận hành máy chủ của đơn vị.

7. Thủ tục công bố, khai thác dịch vụ trên VDXPĐiều kiện để công bố, khai thác dịch vụ trên VDXP là các đơn vị đã thực hiện đăng ký tham gia làm thành viên của VDXP- Thủ tục để cung cấp dịch vụ chia sẻ dữ liệu

o Các đơn vị tiếp nhận yêu cầu chia sẻ dữ liệu từ cơ quan quản lý để chia sẻ dữ liệu đang quản lý cho các đơn vị khác sử dụng tuân thủ theo quy định chia sẻ dữ liệu số.

o Các đơn vị triển khai dịch vụ chia sẻ dữ liệu theo các tài liệu hướng dẫn kết nối VDXP cho từng hệ thống thông tin khác nhau

o Đơn vị thực hiện cấp quyền truy cập dịch vụ của minh cho các thành viên khác khai thác dữ liệu.

- Thủ tục để khai thác dịch vụ chia sẻ dữ liệuo Các đơn vị triển khai dịch vụ khai thác dữ liệu theo các tài liệu

hướng dẫn kết nối VDXP cho từng hệ thống thông tin khác nhau

39

Page 40: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

Các đơn vị sử dụng dữ liệu được chia sẻ phục vụ nghiệp vụ của đơn vị theo quy định về chia sẻ dữ liệu số.

8. Hướng dẫn kết nối các CSDL Quốc gia, HTTT Quốc gia qua VDXP8.1 Hướng dẫn kết nối hệ thống Cổng dịch vụ công quốc gia

Xem tài liệu đính kèm: TaiLieuHuongDanTichHopDVCQG_v9.4.2.docx8.2 Hướng dẫn kết nối hệ thống hành chính công quốc gia

Xem tài liệu đính kèm8.3 Hướng dẫn kết nối hệ thống báo cáo quốc gia

Xem tài liệu đính kèm: TaiLieuHuongDanTichHopGIRS_v1.4.docx8.4 Hướng dẫn kết nối liên thông văn bản quốc gia

Xem tài liệu đính kèm:TaiLieuHuongDanTichHopTLTVBQG _v2.5.docx

40

Page 41: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

9. PHỤ LỤC9.1 PHỤ LỤC 1a. XML Schema for Identifiers

<?xml version="1.0" encoding="UTF-8"?><xs:schema elementFormDefault="qualified"targetNamespace="http://x-road.eu/xsd/identifiers"xmlns="http://x-road.eu/xsd/identifiers"xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:complexType name="XRoadIdentifierType"><xs:annotation><xs:documentation>Globally unique identifier in the X-Road system.Identifier consists of object type specifier and list ofhierarchical codes (starting with code that identifiersthe X-Road instance).</xs:documentation></xs:annotation><xs:sequence><xs:element minOccurs="0" ref="xRoadInstance"/><xs:element minOccurs="0" ref="memberClass"/><xs:element minOccurs="0" ref="memberCode"/><xs:element minOccurs="0" ref="subsystemCode"/><xs:element minOccurs="0" ref="groupCode"/><xs:element minOccurs="0" ref="serviceCode"/><xs:element minOccurs="0" ref="serviceVersion"/><xs:element minOccurs="0" ref="securityCategoryCode"/><xs:element minOccurs="0" ref="serverCode"/></xs:sequence><xs:attribute ref="objectType" use="required"/></xs:complexType><xs:simpleType name="XRoadObjectType"><xs:annotation><xs:documentation>Enumeration for X-Road identifiertypes.</xs:documentation></xs:annotation><xs:restriction base="xs:string"><xs:enumeration value="MEMBER"/><xs:enumeration value="SUBSYSTEM"/><xs:enumeration value="SERVER"/>

41

Page 42: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<xs:enumeration value="GLOBALGROUP"/><xs:enumeration value="LOCALGROUP"/><xs:enumeration value="SECURITYCATEGORY"/><xs:enumeration value="SERVICE"/><xs:enumeration value="CENTRALSERVICE"/></xs:restriction></xs:simpleType><xs:element name="xRoadInstance" type="xs:string"><xs:annotation><xs:documentation>Identifies the X-Road instance. This field isapplicable to all identifier types.</xs:documentation></xs:annotation></xs:element><xs:element name="memberClass" type="xs:string"><xs:annotation><xs:documentation>Type of the member (company, governmentinstitution, private person, etc.)</xs:documentation></xs:annotation></xs:element><xs:element name="memberCode" type="xs:string"><xs:annotation><xs:documentation>Code that uniquely identifies a member of givenmember type.</xs:documentation></xs:annotation></xs:element><xs:element name="subsystemCode" type="xs:string"><xs:annotation><xs:documentation>Code that uniquely identifies a subsystem ofgiven X-Road member.</xs:documentation></xs:annotation></xs:element><xs:element name="groupCode" type="xs:string"><xs:annotation><xs:documentation>Code that uniquely identifies a global group ingiven X-Road instance.</xs:documentation></xs:annotation></xs:element>

42

Page 43: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<xs:element name="serviceCode" type="xs:string"><xs:annotation><xs:documentation>Code that uniquely identifies a service offered bygiven X-Road member or subsystem.</xs:documentation></xs:annotation></xs:element><xs:element name="serviceVersion" type="xs:string"><xs:annotation><xs:documentation>Version of the service.</xs:documentation></xs:annotation></xs:element><xs:element name="securityCategoryCode" type="xs:string"><xs:annotation><xs:documentation>Code that uniquely identifies security category ina given X-Road instance.</xs:documentation></xs:annotation></xs:element><xs:element name="serverCode" type="xs:string"><xs:annotation><xs:documentation>Code that uniquely identifies security serveroffered by a given X-Road member orsubsystem.</xs:documentation></xs:annotation></xs:element><xs:attribute name="objectType" type="XRoadObjectType"/><xs:complexType name="XRoadClientIdentifierType"><xs:complexContent><xs:restriction base="XRoadIdentifierType"><xs:sequence><xs:element ref="xRoadInstance"/><xs:element ref="memberClass"/><xs:element ref="memberCode"/><xs:element minOccurs="0" ref="subsystemCode"/></xs:sequence><xs:attribute ref="objectType" use="required"/></xs:restriction></xs:complexContent>

43

Page 44: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

</xs:complexType><xs:complexType name="XRoadServiceIdentifierType"><xs:complexContent><xs:restriction base="XRoadIdentifierType"><xs:sequence><xs:element ref="xRoadInstance"/><xs:element ref="memberClass"/><xs:element ref="memberCode"/><xs:element minOccurs="0" ref="subsystemCode"/><xs:element ref="serviceCode"/><xs:element minOccurs="0" ref="serviceVersion"/></xs:sequence><xs:attribute ref="objectType" use="required" fixed="SERVICE"/></xs:restriction></xs:complexContent></xs:complexType><xs:complexType name="XRoadSecurityCategoryIdentifierType"><xs:complexContent><xs:restriction base="XRoadIdentifierType"><xs:sequence><xs:element ref="xRoadInstance"/><xs:element ref="securityCategoryCode"/></xs:sequence><xs:attribute ref="objectType" use="required"fixed="SECURITYCATEGORY"/></xs:restriction></xs:complexContent></xs:complexType><xs:complexType name="XRoadCentralServiceIdentifierType"><xs:complexContent><xs:restriction base="XRoadIdentifierType"><xs:sequence><xs:element ref="xRoadInstance"/><xs:element ref="serviceCode"/></xs:sequence><xs:attribute ref="objectType" use="required"fixed="CENTRALSERVICE"/>

44

Page 45: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

</xs:restriction></xs:complexContent></xs:complexType><xs:complexType name="XRoadSecurityServerIdentifierType"><xs:complexContent><xs:restriction base="XRoadIdentifierType"><xs:sequence><xs:element ref="xRoadInstance"/><xs:element ref="memberClass"/><xs:element ref="memberCode"/><xs:element ref="serverCode"/></xs:sequence><xs:attribute ref="objectType" use="required" fixed="SERVER"/></xs:restriction></xs:complexContent></xs:complexType><xs:complexType name="XRoadGlobalGroupIdentifierType"><xs:complexContent><xs:restriction base="XRoadIdentifierType"><xs:sequence><xs:element ref="xRoadInstance"/><xs:element ref="groupCode"/></xs:sequence><xs:attribute ref="objectType" use="required"fixed="GLOBALGROUP"/></xs:restriction></xs:complexContent></xs:complexType><xs:complexType name="XRoadLocalGroupIdentifierType"><xs:complexContent><xs:restriction base="XRoadIdentifierType"><xs:sequence><xs:element ref="groupCode"/></xs:sequence><xs:attribute ref="objectType" use="required"fixed="LOCALGROUP"/></xs:restriction>

45

Page 46: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

</xs:complexContent></xs:complexType></xs:schema>

b. XML Schema for Messages

<?xml version="1.0" encoding="UTF-8"?><xs:schema elementFormDefault="qualified"targetNamespace="http://x-road.eu/xsd/xroad.xsd"xmlns="http://x-road.eu/xsd/xroad.xsd"xmlns:id="http://x-road.eu/xsd/identifiers"xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:import namespace="http://www.w3.org/XML/1998/namespace"schemaLocation="http://www.w3.org/2009/01/xml.xsd"/><xs:import id="id" namespace="http://x-road.eu/xsd/identifiers"schemaLocation="http://x-road.eu/xsd/identifiers.xsd"/>

<!-- Header elements --><xs:element name="client" type="id:XRoadClientIdentifierType"><xs:annotation><xs:documentation>Identies service client</xs:documentation></xs:annotation></xs:element><xs:element name="service" type="id:XRoadServiceIdentifierType"><xs:annotation><xs:documentation>Identies the servicethat is invoked by the request</xs:documentation></xs:annotation></xs:element><xs:element name="centralService"type="id:XRoadCentralServiceIdentifierType"><xs:annotation><xs:documentation>Identies the central servicethat is invoked by the request.</xs:documentation></xs:annotation></xs:element><xs:element name="id" type="xs:string"><xs:annotation><xs:documentation>Unique identier

46

Page 47: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

for this message</xs:documentation></xs:annotation></xs:element><xs:element name="userId" type="xs:string"><xs:annotation><xs:documentation>User whose action initiatedthe request</xs:documentation></xs:annotation></xs:element><xs:element name="requestHash"><xs:annotation><xs:documentation>Base64 encoded hash ofthe SOAP request message</xs:documentation></xs:annotation><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute name="algorithmId" type="xs:string"><xs:annotation><xs:documentation>Identies hash algorithmthat was used to calculate the valueof the requestHash field.</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:element name="issue" type="xs:string"><xs:annotation><xs:documentation>Identies received application, issue or documentthat was the cause of the service request.</xs:documentation></xs:annotation></xs:element><xs:element name="protocolVersion" type="xs:string"><xs:annotation><xs:documentation>X-Road message protocol version</xs:documentation>

47

Page 48: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

</xs:annotation></xs:element>

<!-- Elements describing other elements and operations--><xs:element name="version" type="xs:string"><xs:annotation><xs:documentation>Version of the service</xs:documentation></xs:annotation></xs:element><xs:element name="title"><xs:annotation><xs:documentation>Title of the service</xs:documentation></xs:annotation><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute default="en" ref="xml:lang"/></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:element name="notes"><xs:annotation><xs:documentation>Notes for user</xs:documentation></xs:annotation><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute ref="xml:lang" default="en" /></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:element name="techNotes"><xs:annotation><xs:documentation>Notes for technical stuff</xs:documentation></xs:annotation>

48

Page 49: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute ref="xml:lang" default="en" /></xs:extension></xs:simpleContent></xs:complexType></xs:element></xs:schema>

c. Example WSDL

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions targetNamespace="http://producer.x-road.eu"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:tns="http://producer.x-road.eu"xmlns:xrd="http://x-road.eu/xsd/xroad.xsd"xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"xmlns:xmime="http://www.w3.org/2005/05/xmlmime"xmlns:ref="http://ws-i.org/profiles/basic/1.1/xsd"xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"><wsdl:types><xs:schema targetNamespace="http://producer.x-road.eu"xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:import namespace="http://x-road.eu/xsd/xroad.xsd"schemaLocation="http://x-road.eu/xsd/xroad.xsd" /><xs:import namespace="http://ws-i.org/profiles/basic/1.1/xsd"schemaLocation="http://ws-i.org/profiles/basic/1.1/swaref.xsd" /><xs:import namespace="http://www.w3.org/2005/05/xmlmime"schemaLocation="http://www.w3.org/2005/05/xmlmime" /><xs:complexType name="fault"><xs:sequence><xs:element name="faultCode" type="xs:string"><xs:annotation><xs:appinfo><xrd:title>Fault Code</xrd:title></xs:appinfo></xs:annotation>

49

Page 50: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

</xs:element><xs:element name="faultString" type="xs:string"><xs:annotation><xs:appinfo><xrd:title>Fault explanation</xrd:title></xs:appinfo></xs:annotation></xs:element></xs:sequence></xs:complexType><xs:element name="exampleService"><xs:complexType><xs:sequence><xs:element name="exampleInput" type="xs:string"><xs:annotation><xs:appinfo><xrd:title>Example input</xrd:title></xs:appinfo></xs:annotation></xs:element></xs:sequence></xs:complexType></xs:element><xs:element name="exampleServiceResponse"><xs:complexType><xs:sequence><xs:element name="exampleOutput" type="xs:string"><xs:annotation><xs:appinfo><xrd:title>Example output</xrd:title></xs:appinfo></xs:annotation></xs:element><xs:element name="fault" type="tns:fault"minOccurs="0" /></xs:sequence></xs:complexType>

50

Page 51: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

</xs:element><xs:element name="exampleServiceSwaRef"><xs:complexType><xs:sequence><xs:element name="exampleInput" type="xs:string"><xs:annotation><xs:appinfo><xrd:title>Example input</xrd:title></xs:appinfo></xs:annotation></xs:element><xs:element name="exampleAttachment" type="ref:swaRef"><xs:annotation><xs:appinfo><xrd:title>Example Attachment (with swaRefdescription)</xrd:title></xs:appinfo></xs:annotation></xs:element></xs:sequence></xs:complexType></xs:element><xs:element name="exampleServiceSwaRefResponse"><xs:complexType><xs:sequence><xs:element name="exampleOutput" type="xs:string"><xs:annotation><xs:appinfo><xrd:title>Example output</xrd:title></xs:appinfo></xs:annotation></xs:element><xs:element name="fault" type="tns:fault"minOccurs="0" /></xs:sequence></xs:complexType></xs:element>

51

Page 52: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<xs:element name="exampleServiceMtom"><xs:complexType><xs:sequence><xs:element name="exampleInput" type="xs:string"><xs:annotation><xs:appinfo><xrd:title>Example input</xrd:title></xs:appinfo></xs:annotation></xs:element><xs:element name="exampleAttachment"type="xs:base64Binary"xmime:expectedContentTypes="application/octet-stream"><xs:annotation><xs:appinfo><xrd:title>Example MTOMAttachment</xrd:title></xs:appinfo></xs:annotation></xs:element></xs:sequence></xs:complexType></xs:element><xs:element name="exampleServiceMtomResponse"><xs:complexType><xs:sequence><xs:element name="exampleOutput" type="xs:string"><xs:annotation><xs:appinfo><xrd:title>Example output</xrd:title></xs:appinfo></xs:annotation></xs:element><xs:element name="fault" type="tns:fault"minOccurs="0" /></xs:sequence></xs:complexType>

52

Page 53: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

</xs:element></xs:schema></wsdl:types>

<wsdl:message name="exampleService"><wsdl:part name="exampleService" element="tns:exampleService" /></wsdl:message><wsdl:message name="exampleServiceResponse"><wsdl:part name="exampleServiceResponse"element="tns:exampleServiceResponse" /></wsdl:message>

<wsdl:message name="exampleServiceSwaRef"><wsdl:part name="exampleServiceSwaRef"element="tns:exampleServiceSwaRef" /></wsdl:message><wsdl:message name="exampleServiceSwaRefResponse"><wsdl:part name="exampleServiceSwaRefResponse"element="tns:exampleServiceSwaRefResponse" /></wsdl:message>

<wsdl:message name="exampleServiceMtom"><wsdl:part name="exampleServiceMtom"element="tns:exampleServiceMtom" /></wsdl:message><wsdl:message name="exampleServiceMtomResponse"><wsdl:part name="exampleServiceMtomResponse"element="tns:exampleServiceMtomResponse" /></wsdl:message>

<wsdl:message name="requestHeader"><wsdl:part name="client" element="xrd:client" /><wsdl:part name="service" element="xrd:service" /><wsdl:part name="id" element="xrd:id" /><wsdl:part name="userId" element="xrd:userId" /><wsdl:part name="issue" element="xrd:issue" /><wsdl:part name="protocolVersion" element="xrd:protocolVersion" />

53

Page 54: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

</wsdl:message>

<wsdl:portType name="exampleServicePort"><wsdl:operation name="exampleService"><wsdl:documentation><xrd:title>Title of exampleService</xrd:title><xrd:notes>Technical notes for exampleService:This is a simple SOAP service.</xrd:notes></wsdl:documentation><wsdl:input name="exampleService" message="tns:exampleService" /><wsdl:output name="exampleServiceResponse"message="tns:exampleServiceResponse" /></wsdl:operation>

<wsdl:operation name="exampleServiceSwaRef"><wsdl:documentation><xrd:title>Title of exampleServiceSwaRef</xrd:title><xrd:notes>Technical notes for exampleServiceSwaRef:This is a SOAP service withswaRef attachment.</xrd:notes></wsdl:documentation><wsdl:input name="exampleServiceSwaRef"message="tns:exampleServiceSwaRef" /><wsdl:output name="exampleServiceSwaRefResponse"message="tns:exampleServiceSwaRefResponse" /></wsdl:operation>

<wsdl:operation name="exampleServiceMtom"><wsdl:documentation><xrd:title>Title of exampleServiceMtom</xrd:title><xrd:notes>Technical notes for exampleServiceMtom:This is a SOAP service withMTOM attachment.</xrd:notes></wsdl:documentation><wsdl:input name="exampleServiceMtom"message="tns:exampleServiceMtom" /><wsdl:output name="exampleServiceMtomResponse"

54

Page 55: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

message="tns:exampleServiceMtomResponse" /></wsdl:operation></wsdl:portType>

<wsdl:binding name="exampleServicePortSoap11"type="tns:exampleServicePort"><soap:binding style="document"transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="exampleService"><soap:operation soapAction="" style="document" /><xrd:version>v1</xrd:version><wsdl:input name="exampleService"><soap:body use="literal" /><soap:header message="tns:requestHeader"part="client" use="literal" /><soap:header message="tns:requestHeader"part="service" use="literal" /><soap:header message="tns:requestHeader"part="id" use="literal" /><soap:header message="tns:requestHeader"part="userId" use="literal" /><soap:header message="tns:requestHeader"part="issue" use="literal" /><soap:header message="tns:requestHeader"part="protocolVersion" use="literal"/></wsdl:input><wsdl:output name="exampleServiceResponse"><soap:body use="literal" /><soap:header message="tns:requestHeader"part="client" use="literal" /><soap:header message="tns:requestHeader"part="service" use="literal" /><soap:header message="tns:requestHeader"part="id" use="literal" /><soap:header message="tns:requestHeader"part="userId" use="literal" /><soap:header message="tns:requestHeader"

55

Page 56: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

part="issue" use="literal" /><soap:header message="tns:requestHeader"part="protocolVersion" use="literal" /></wsdl:output></wsdl:operation>

<wsdl:operation name="exampleServiceSwaRef"><soap:operation soapAction="" style="document" /><xrd:version>v1</xrd:version><wsdl:input><!-- MIME description is required according to WS-I AttachmentsProfile Version 1.0: R2902 A SENDER MUST NOT send amessage using SOAP with Attachments if the correspondingwsdl:input or wsdl:output element in the wsdl:binding doesnot specify the WSDL MIME Binding.

The WSDL 1.1 specification does not specify whether thesoap:header element is permitted as a child of themime:part element along with the soap:body element. ButWS-I Attachments Profile Version 1.0 recommends includingboth soap:header and soap:body as a content of mime:part.However it should be noted that some tools like forexample SoapUI and Eclipse Web Services Explorer assumethat soap:header elements are children of wsdl:input orwsdl:output elements. --><mime:multipartRelated><mime:part><soap:body use="literal" /><soap:header message="tns:requestHeader"part="client" use="literal" /><soap:header message="tns:requestHeader"part="service" use="literal" /><soap:header message="tns:requestHeader"part="id" use="literal" /><soap:header message="tns:requestHeader"part="userId" use="literal" /><soap:header message="tns:requestHeader"

56

Page 57: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

part="issue" use="literal" /><soap:header message="tns:requestHeader"part="protocolVersion" use="literal" /></mime:part></mime:multipartRelated></wsdl:input><wsdl:output><soap:body use="literal" /><soap:header message="tns:requestHeader"part="client" use="literal" /><soap:header message="tns:requestHeader"part="service" use="literal" /><soap:header message="tns:requestHeader"part="id" use="literal" /><soap:header message="tns:requestHeader"part="userId" use="literal" /><soap:header message="tns:requestHeader"part="issue" use="literal" /><soap:header message="tns:requestHeader"part="protocolVersion" use="literal" /></wsdl:output></wsdl:operation>

<wsdl:operation name="exampleServiceMtom"><soap:operation soapAction="" style="document" /><xrd:version>v1</xrd:version><wsdl:input><!-- MTOM does not require MIME description --><soap:header message="tns:requestHeader"part="client" use="literal" /><soap:header message="tns:requestHeader"part="service" use="literal" /><soap:header message="tns:requestHeader"part="id" use="literal" /><soap:header message="tns:requestHeader"part="userId" use="literal" /><soap:header message="tns:requestHeader"

57

Page 58: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

part="issue" use="literal" /><soap:header message="tns:requestHeader"part="protocolVersion" use="literal" /><soap:body use="literal" /></wsdl:input><wsdl:output><soap:body use="literal"/><soap:header message="tns:requestHeader"part="client" use="literal" /><soap:header message="tns:requestHeader"part="service" use="literal" /><soap:header message="tns:requestHeader"part="id" use="literal" /><soap:header message="tns:requestHeader"part="userId" use="literal" /><soap:header message="tns:requestHeader"part="issue" use="literal" /><soap:header message="tns:requestHeader"part="protocolVersion" use="literal" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="producerPortService"><wsdl:port name="exampleServicePortSoap11"binding="tns:exampleServicePortSoap11"><soap:address location="http://foo.bar.baz" /></wsdl:port></wsdl:service></wsdl:definitions>

d. Example Fault Messages

1 Technical<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>Server.ClientProxy.ServiceFailed.MissingBody</faultcode>

58

Page 59: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<faultstring>Malformed SOAP message: body missing</faultstring><faultactor></faultactor><detail><faultDetail xmlns="">f31e7451-f0ac-48f6-9f05-1f0459e48eea</faultDetail></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>2 Non-technical<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelopexmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"xmlns:ns1="http://producer.x-road.eu"xmlns:id="http://x-road.eu/xsd/identifiers"xmlns:xrd="http://x-road.eu/xsd/xroad.xsd"><SOAP-ENV:Header><xrd:client id:objectType="SUBSYSTEM"><id:xRoadInstance>EE</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER1</id:memberCode><id:subsystemCode>SUBSYSTEM1</id:subsystemCode></xrd:client><xrd:service id:objectType="SERVICE"><id:xRoadInstance>EE</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER2</id:memberCode><id:subsystemCode>SUBSYSTEM2</id:subsystemCode><id:serviceCode>test</id:serviceCode><id:serviceVersion>v1</id:serviceVersion></xrd:service><xrd:id>4894e35d-bf0f-44a6-867a-8e51f1daa7e0</xrd:id><xrd:userId>EE12345678901</xrd:userId><xrd:issue>12345</xrd:issue><xrd:protocolVersion>4.0</xrd:protocolVersion><xrd:requestHashalgorithmId="http://www.w3.org/2001/04/xmlenc#sha512">8r+UeXoU2WiEXRMdES8KBLhdQV/lt1DA+rLi2EUC239k

59

Page 60: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

OvBWGcBjYde27YIZtNQObsyHFQfX0V6pQ6LH3KS1Hw==</xrd:requestHash></SOAP-ENV:Header><SOAP-ENV:Body><ns1:exampleServiceResponse><exampleOutput /><fault><faultCode>test_failed</faultCode><faultString>Could not read test parameters</faultString></fault></ns1:exampleServiceResponse ></SOAP-ENV:Body></SOAP-ENV:Envelope>

e. Example Messages

1 Request<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelopexmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"xmlns:ns1="http://producer.x-road.eu"xmlns:xrd="http://x-road.eu/xsd/xroad.xsd"xmlns:id="http://x-road.eu/xsd/identifiers"><SOAP-ENV:Header><xrd:client id:objectType="SUBSYSTEM"><id:xRoadInstance>EE</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER1</id:memberCode><id:subsystemCode>SUBSYSTEM1</id:subsystemCode></xrd:client><xrd:service id:objectType="SERVICE"><id:xRoadInstance>EE</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER2</id:memberCode><id:subsystemCode>SUBSYSTEM2</id:subsystemCode><id:serviceCode>exampleService</id:serviceCode><id:serviceVersion>v1</id:serviceVersion></xrd:service><xrd:id>4894e35d-bf0f-44a6-867a-8e51f1daa7e0</xrd:id>

60

Page 61: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<xrd:userId>EE12345678901</xrd:userId><xrd:issue>12345</xrd:issue><xrd:protocolVersion>4.0</xrd:protocolVersion></SOAP-ENV:Header><SOAP-ENV:Body><ns1:exampleService><exampleInput>foo</exampleInput></ns1:exampleService></SOAP-ENV:Body></SOAP-ENV:Envelope>2 Response<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelopexmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"xmlns:ns1="http://producer.x-road.eu"xmlns:id="http://x-road.eu/xsd/identifiers"xmlns:xrd="http://x-road.eu/xsd/xroad.xsd"><SOAP-ENV:Header><xrd:client id:objectType="SUBSYSTEM"><id:xRoadInstance>EE</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER1</id:memberCode><id:subsystemCode>SUBSYSTEM1</id:subsystemCode></xrd:client><xrd:service id:objectType="SERVICE"><id:xRoadInstance>EE</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER2</id:memberCode><id:subsystemCode>SUBSYSTEM2</id:subsystemCode><id:serviceCode>exampleService</id:serviceCode><id:serviceVersion>v1</id:serviceVersion></xrd:service><xrd:id>4894e35d-bf0f-44a6-867a-8e51f1daa7e0</xrd:id><xrd:userId>EE12345678901</xrd:userId><xrd:issue>12345</xrd:issue><xrd:protocolVersion>4.0</xrd:protocolVersion><xrd:requestHash

61

Page 62: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

algorithmId="http://www.w3.org/2001/04/xmlenc#sha512">29KTVbZf83XlfdYrsxjaSYMGoxvktnTUBTtA4BmSrh1egtRtvR9VY8QycYaVdsKtGJIh/8CpucYWPbWfaIgJDQ==</xrd:requestHash></SOAP-ENV:Header><SOAP-ENV:Body><ns1:exampleServiceResponse><exampleOutput>bar</exampleOutput></ns1:exampleServiceResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>

f. Example Request with Attachment

.. other transport headers ...Content-Type: multipart/related; type="text/xml"; start="<rootpart>"; boundary="MIME_boundary"MIME-Version: 1.0

--MIME_boundaryContent-Type: text/xml; charset=UTF-8Content-Transfer-Encoding: 8bitContent-ID: <rootpart>

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelopexmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"xmlns:ns1="http://producer.x-road.eu"xmlns:xrd="http://x-road.eu/xsd/xroad.xsd"xmlns:id="http://x-road.eu/xsd/identifiers"><SOAP-ENV:Header><xrd:client id:objectType="SUBSYSTEM"><id:xRoadInstance>EE</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER1</id:memberCode><id:subsystemCode>SUBSYSTEM1</id:subsystemCode></xrd:client><xrd:service id:objectType="SERVICE"><id:xRoadInstance>EE</id:xRoadInstance>

62

Page 63: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER2</id:memberCode><id:subsystemCode>SUBSYSTEM2</id:subsystemCode><id:serviceCode>exampleService</id:serviceCode><id:serviceVersion>v1</id:serviceVersion></xrd:service><xrd:id>4894e35d-bf0f-44a6-867a-8e51f1daa7e0</xrd:id><xrd:userId>EE12345678901</xrd:userId><xrd:issue>12345</xrd:issue><xrd:protocolVersion>4.0</xrd:protocolVersion></SOAP-ENV:Header><SOAP-ENV:Body><ns1:exampleServiceSwaRef><exampleInput>foo</exampleInput><exampleAttachment>cid:data.bin</exampleAttachment></ns1:exampleServiceSwaRef></SOAP-ENV:Body></SOAP-ENV:Envelope>

--MIME_boundaryContent-Type: application/octet-stream; name=data.binContent-Transfer-Encoding: base64Content-ID: <data.bin>Content-Disposition: attachment; name="data.bin"; filename="data.bin"

VGhpcyBpcyBhdHRhY2htZW50Lg0K--MIME_boundary--

g. Example Request with MTOM Attachment

... other transport headers ... The following HTTP header is wrapped for readability:Content-Type: multipart/related; type="application/xop+xml"; start="<rootpart>";start-info="text/xml"; boundary="MIME_boundary"MIME-Version: 1.0

--MIME_boundaryContent-Type: application/xop+xml; charset=UTF-8; type="text/xml"Content-Transfer-Encoding: 8bitContent-ID: <rootpart>

63

Page 64: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelopexmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"xmlns:ns1="http://producer.x-road.eu"xmlns:xrd="http://x-road.eu/xsd/xroad.xsd"xmlns:id="http://x-road.eu/xsd/identifiers"><SOAP-ENV:Header><xrd:client id:objectType="SUBSYSTEM"><id:xRoadInstance>EE</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER1</id:memberCode><id:subsystemCode>SUBSYSTEM1</id:subsystemCode></xrd:client><xrd:service id:objectType="SERVICE"><id:xRoadInstance>EE</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>MEMBER2</id:memberCode><id:subsystemCode>SUBSYSTEM2</id:subsystemCode><id:serviceCode>exampleService</id:serviceCode><id:serviceVersion>v1</id:serviceVersion></xrd:service><xrd:id>4894e35d-bf0f-44a6-867a-8e51f1daa7e0</xrd:id><xrd:userId>EE12345678901</xrd:userId><xrd:issue>12345</xrd:issue><xrd:protocolVersion>4.0</xrd:protocolVersion></SOAP-ENV:Header><SOAP-ENV:Body><ns1:exampleServiceMtom><exampleInput>foo</exampleInput><exampleAttachment><inc:Include href="cid:data.bin"xmlns:inc="http://www.w3.org/2004/08/xop/include" /></exampleAttachment></ns1:exampleServiceMtom></SOAP-ENV:Body></SOAP-ENV:Envelope>

64

Page 65: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

--MIME_boundaryContent-Type: application/octet-stream; name=data.binContent-Transfer-Encoding: base64Content-ID: <data.bin>Content-Disposition: attachment; name="data.bin"; filename="data.bin"

VGhpcyBpcyBhdHRhY2htZW50Lg0K--MIME_boundary--

65

Page 66: VIẾT TẮTthutuchanhchinh.vn/.../81/TaiLieuHuongDanTichHop_V… · Web viewPhần trên mô tả tổng quát về cấu trúc header của bản tin được gửi đi và nhận

66