66,2 Gửi tin nhắn giao diện Giao diện SendMessage cho phép bạn gửi tin nhắn đến một hoặc nhiều địa chỉngười nhận bằng cách sử dụng các SendMessagehoạt động, hoặc có được tìnhtrạng giao h
Trang 1Hà Nội - Năm 20113
Trang 2Parlay X Web Dịch vụ Multimedia Messaging API
66.1 Giới thiệu về Parlay X hoạt động nhắn
Các phần sau đây mô tả ngữ nghĩa của mỗi hoạt động hỗ trợ cùng với các chi tiếtthực hiện cụ thể cho Parlay X Gateway Các bảng sau đây, mô tả các thông sốthông báo đầu vào / đầu ra cho mỗi hoạt động, được lấy trực tiếp từ X đặc điểm
kỹ thuật xiên
Oracle người dùng dịch vụ nhắn thực hiện một tập hợp con của X 2.1 đặc điểm
kỹ thuật nhắn đa phương tiện xiên Đặc biệt Oracle người dùng dịch vụ nhắn hỗtrợ các giao diện SendMessage và ReceiveMessage Các MessageNotification vàMessageNotificationManager giao diện không được hỗ trợ
66,2 Gửi tin nhắn giao diện
Giao diện SendMessage cho phép bạn gửi tin nhắn đến một hoặc nhiều địa chỉngười nhận bằng cách sử dụng các SendMessagehoạt động, hoặc có được tìnhtrạng giao hàng cho một tin nhắn gửi trước đó bằng cách sử dụng các hoạt độnggetMessageDeliveryStatus Các yêu cầu sau đây áp dụng:
Một địa chỉ người nhận phải phù hợp với yêu cầu định dạng địa chỉ củaOracle người dùng dịch vụ nhắn (ngoài việc có một URI hợp lệ) Định
dạng chung là delivery_type : protocol_specific_address , chẳng hạn
như email: hướng @ miền , sms: 5551212 hoặc im: người dùng @jabberdomain
Một số nhân vật không được phép vào các URI, nếu nó là cần thiết để đưavào một địa chỉ họ có thể được mã hóa hoặc thoát Tham khảo các javadoccho java.net.URI để biết chi tiết về cách tạo một URI mã hóa đúng cách
Trong khi các WSDL xác định rằng địa chỉ người gửi có thể là bất kỳchuỗi, Oracle người dùng dịch vụ Nhắn tin yêu cầu rằng họ có địa chỉnhắn hợp lệ
Oracle người dùng dịch vụ nhắn yêu cầu bạn xác thực địa chỉ người gửitrên một loại cơ sở cho mỗi giao hàng Vì vậy, cho địa chỉ người gửi để áp
Trang 3dụng cho một người nhận một loại giao hàng nhất định, nói EMAIL, địachỉ người gửi cũng phải có loại giao EMAIL Từ hoạt động này cho phépnhiều địa chỉ người nhận nhưng chỉ có một địa chỉ người gửi, địa chỉngười gửi chỉ áp dụng cho người nhận với các loại giao hàng tương tự.
Oracle người dùng dịch vụ nhắn không hỗ trợ giao diệnMessageNotification, và do đó không xuất trình biên lai giao hàng, ngay
cả khi một receiptRequest được chỉ định Nói cách khác, các tham sốreceiptRequest được bỏ qua
địa chỉ XSD: anyURI [0
không bị chặn]
Không Địa chỉ đích cho tin nhắn này
senderAddress xsd: string Vâng Nhắn địa chỉ người gửi Tham số
này không được phép cho tất cảcác nhà cung cấp bên thứ 3 CácParlay X máy chủ phải xử lý nàytheo một SLA cho các ứng dụng
cụ thể và do đó việc sử dụng nó
có thể dẫn đến mộtPolicyException
Tiêu đề xsd: string Vâng Tựa đề Nếu ánh xạ tới tin nhắn
SMS, tham số này được sử dụngnhư các senderAddress, ngay cảkhi một senderAddress riêng biệt
Trang 4Phần Tên Phần Loại
Tùy chọn Mô tả
được cung cấp
ưu tiên MessagePriority Vâng Ưu tiên của tin nhắn Nếu không
có mặt, mạng gán ưu tiên dựatrên các nhà điều hànhpolicy.Charging để áp dụng chotin nhắn này
Vâng Xác định các thiết bị đầu cuối
ứng dụng, tên giao diện và tươngquan được sử dụng để thông báocho các ứng dụng khi tin nhắn đãđược gửi đến một thiết bị đầucuối hoặc nếu giao hàng là khôngthể
Bảng 66-2 mô tả sendMessageResponse thông điệp đầu ra cho các Sendmessage hoạt động
Bảng 66-2 sendMessageResponse ra tin mô tả
kết
quả
xsd:
string
Không Định mối tương quan này được sử dụng trong một hoạt
động gọi getMessageDeliveryStatus thăm dò ý kiến chotình trạng giao hàng của tất cả các tin nhắn được gửi
Trang 566.2.2 getMessageDeliveryStatus hoạt động
Các getMessageDeliveryStatus hoạt động được tình trạng giao hàng cho một tinnhắn được gửi trước đó Đầu vào "requestIdentifier" là "kết quả" giá trị từ mộthoạt động SendMessage Đây là cùng một định danh được gọi là tin nhắn IDtrong tài liệu hướng dẫn nhắn khác
Bảng 66-3 mô tả các getMessageDeliveryStatusRequest tin đầu vào chocác getMessageDeliveryStatus hoạt động
Bảng 66-3 getMessageDeliveryStatusRequest đầu vào tin nhắn mô tả
Phần Tên
Phần Loại
Tùy chọn Mô tả
kết
quả
DeliveryInformation
[0 không bị chặn]
Vâng Một loạt các tình trạng của tin nhắn được
gửi trước đó Mỗi phần tử mảng đại diệncho một tin nhắn gửi, địa chỉ đích của nó
và tình trạng giao hàng của nó
Trang 666,3 Nhận được tin nhắn giao diện
Giao diện ReceiveMessage có ba hoạt động Các getReceivedMessages các cuộcthăm dò hoạt động của máy chủ cho bất kỳ tin nhắn nhận được từ việc gọi cuốicùng của getReceivedMessages Lưu ý rằng getReceivedMessages không nhấtthiết phải trả lại bất kỳ nội dung tin nhắn, nó thường chỉ trả về siêu dữ liệu tinnhắn
Hai hoạt động khác, getMessage và getMessageURIs , được sử dụng để lấy nộidung tin nhắn
X đặc điểm kỹ thuật xiên nói rằng nếu các ID đăng ký không được xácđịnh, tất cả các thông điệp cho ứng dụng này sẽ được trả lại Tuy nhiên,WSDL cho biết các thông số ID đăng ký là bắt buộc Do đó thực hiện củachúng tôi xử lý các chuỗi rỗng ("") là "không-quy định" giá trị Nếu bạngọi getReceivedMessages với chuỗi sản phẩm nào như ID đăng ký củabạn, bạn sẽ có được tất cả các thông điệp cho ứng dụng này Vì vậy chuỗisản phẩm nào không phải là một giá trị cho phép của ID đăng ký khi gọistartReceiveMessages
Theo X đặc điểm kỹ thuật xiên, nếu nội dung tin nhắn nhận được là "vănbản ASCII thuần túy", sau đó nội dung tin nhắn được trả lại ngay bêntrong các đối tượng MessageReference, và messageIdentifier (tin nhắn ID)phần tử là vô giá trị.Thực hiện của chúng tôi đối xử với bất kỳ nội dungvới Content-Type "text / plain", và với mã hóa "us-ascii" như "văn bảnASCII thuần túy" cho các mục đích của hoạt động này Theo các đặc điểm
kỹ thuật định dạng, nếu không mã hóa được quy định, "us-ascii" được giả
Trang 7định, và nếu không có Content-Type được chỉ định, "text / plain" được giảđịnh.
Tham số ưu tiên hiện đang bị bỏ qua
Bảng 66-5 mô tả các getReceivedMessagesRequest tin đầu vào chocác getReceivedMessages hoạt động
Bảng 66-5 getReceivedMessagesRequest đầu vào tin nhắn mô tả
Tùy chọn Mô tả
registrationIdentifie
r
xsd: string Không Xác định việc cung cấp bước
off-line cho phép các ứng dụng đểnhận được thông báo tiếp nhậntin nhắn theo các tiêu chuẩn quyđịnh
ưu tiên MessagePriority Vâng Các ưu tiên của các tin nhắn để
Trang 8Phần Tên Phần Loại
Tùy chọn Mô tả
registrationIdentifie
r
xsd: string Không Xác định việc cung cấp bước
off-line cho phép các ứng dụng đểnhận được thông báo tiếp nhậntin nhắn theo các tiêu chuẩn quyđịnh
ưu tiên MessagePriority Vâng Các ưu tiên của các tin nhắn để
66.3.2 getMessage hoạt động
Các getMessage hoạt động lấy nội dung tin nhắn, sử dụng một ID tin nhắn từmột lời kêu cầu trước của getReceivedMessages.Không có cơ quan SOAP trongtin nhắn trả lời, nội dung được trả lại như một tập tin đính kèm SOAP duy nhất
Bảng 66-7 mô tả các getMessageRequest tin đầu vào cho các getMessage hoạtđộng
Bảng 66-7 getMessageRequest đầu vào tin nhắn mô tả
messageRefIdentifier xsd: string Không Danh tính của tin nhắn
Trang 9Không có getMessageResponse thông điệp đầu ra cho các getMessage hoạtđộng.
66.3.3 getMessageURIs hoạt động
Các getMessageURIs lấy nội dung tin nhắn như một danh sách các URI Lưu ýcác yêu cầu sau:
Các URI là URL HTTP có thể được dereferenced để lấy nội dung
Nếu thông báo gửi vào có Content-Type của "nhiều phần dữ liệu", sau đó
có nhiều URI trở lại, mỗi phần nhỏ Nếu các Content-Type không phải là
"chia", sau đó một URI duy nhất được trả về
Theo các đặc điểm kỹ thuật X xiên, nếu các tin nhắn trong nước một phầnnội dung văn bản, định nghĩa là "cơ thể thông báo nếu nó được mã hóadưới dạng văn bản ASCII", nó được trả về ngay bên trong các đối tượngMessageURI Đối với mục đích thực hiện của chúng tôi, bạn xác địnhhành vi này như sau:
o Nếu tin nhắn của Content-Type là "text / *" (bất kỳ loại văn bản), vànếu tham số charset là "us-ascii", sau đó nội dung được trả về nộituyến trong các đối tượng MessageURI Không có URI trở lại vìkhông có nội dung khác so với những gì được trả về nội tuyến
o Nếu của tin nhắn Content-Type là "multipart /" (bất kỳ loại nhiềuphần dữ liệu), và nếu một phần cơ thể đầu tiên của Content-Type là
"text /" với ký tự "us-ascii", sau đó một phần được trả về nội tuyếntrong các đối tượng MessageURI, và không có URI trả lại tươngứng với phần đó
o Theo các đặc điểm kỹ thuật MIME, nếu tham số ký tự bị bỏ qua, giátrị mặc định "us-ascii" được giả định Nếu tiêu đề Content-Typekhông được chỉ định cho các thông báo, sau đó một Content-Typecủa "text / plain" được giả định
Trang 10Bảng 66-8 mô tả các getMessageURIsRequest tin đầu vào chocác getMessageURIs hoạt động.
Bảng 66-8 getMessageURIsRequest đầu vào tin nhắn mô tả
Phần Tên Phần Loại Tùy chọn Mô tả
messageRefIdentifier xsd: string Không Danh tính của các tin nhắn để tải
Bảng 66-9 mô tả các getMessageURIsResponse thông điệp đầu ra chocác getMessageURIs hoạt động
Bảng 66-9 getMessageURIsResponse ra tin mô tả
Phần
Tên Phần Loại
Tùy chọn Mô tả
kết
quả
MessageURI Không Có chứa thông điệp hoàn chỉnh, bao gồm các
phần văn bản của tin nhắn, nếu có như vậy, vàmột danh sách các tài liệu tham khảo cho các tậptin đính kèm tin nhắn, nếu có
66,4 Oracle mở rộng để Parlay X nhắn
Các đặc điểm kỹ thuật Parlay X nhắn để lại một số phần của dòng tin nhắnkhông xác định Khu vực chính những gì còn lại không xác định là quá trình đểràng buộc một khách hàng đến một địa chỉ để tiếp nhận đồng bộ (thông qua giaodiện ReceiveMessage)
Oracle người dùng dịch vụ nhắn bao gồm một giao diện mở rộng để xâu X để hỗtrợ quá trình này Việc gia hạn được thực hiện như một WSDL riêng biệt trongmột Oracle XML không gian tên để chỉ ra rằng nó không phải là một phần chínhthức của Parlay X Khách hàng có thể chọn để không sử dụng giao diện bổ sung
Trang 11này hoặc sử dụng nó trong một số cách mô-đun như vậy mà tin nhắn logic lõicủa họ vẫn còn đầy đủ phù hợp với đặc điểm kỹ thuật X xiên.
66.4.1 ReceiveMessageManager giao diện
ReceiveMessageManager là giao diện Oracle-cụ thể để quản lý khách hàng đăng
ký nhận tin nhắn Khách hàng sử dụng giao diện này để bắt đầu và dừng nhậnthư tại một địa chỉ cụ thể (Điều này là tương tự như khái niệm về đăng ký / huỷđăng ký các điểm truy cập trong các API nhắn)
66.4.1.1 startReceiveMessage hoạt động
Cách gọi hoạt động này cho phép một khách hàng để ràng buộc nó với một thiết
bị đầu cuối đưa ra cho nhận tin nhắn Lưu ý các yêu cầu sau:
Một thiết bị đầu cuối bao gồm một địa chỉ và một tùy chọn "tiêu chuẩn",được định nghĩa bởi các đặc điểm kỹ thuật X Parlay như màu trắng mãthông báo không gian được phân định đầu tiên của đối tượng hoặc nộidung tin nhắn
Ngoài các thông tin thiết bị đầu cuối, khách hàng cũng chỉ rõ một "đăng
ký ID" khi gọi hoạt động này; ID này chỉ là một chuỗi duy nhất mà có thểđược sử dụng sau này để chỉ ràng buộc đặc biệt nàytrong stopReceiveMessage vàgetReceivedMessages hoạt động
Nếu một thiết bị đầu cuối đã được đăng ký bởi một ứng dụng khách hàng,hoặc ID đăng ký đang được sử dụng, một chính sách kết quả Lỗi
Một số nhân vật không được phép vào các URI, nếu nó là cần thiết để đưavào một địa chỉ họ có thể được mã hóa / thoát.Xem javadoc chojava.net.URI để biết chi tiết về cách tạo một URI mã hóa đúng cách Ví
dụ, khi đăng ký để nhận thông báo XMPP bạn phải chỉ định một địa chỉnhư IM: Jabber | user@example.com , tuy nhiên các đường ống ( | ) nhânvật không được phép trong URI, và phải được thoát ra trước khi trình máychủ
Không có đảm bảo rằng các máy chủ thực sự có thể nhận tin nhắn tại mộtđịa chỉ thiết bị đầu cuối được Điều đó phụ thuộc vào cấu hình tổng thể
Trang 12của dịch vụ Oracle Tin nhắn, đặc biệt là các trình điều khiển Tin nhắnđược triển khai trong hệ thống Không có lỗi được chỉ ra nếu một kháchhàng liên kết với một địa chỉ mà máy chủ không thể nhận tin nhắn.
Các startReceiveMessage hoạt động có đầu vào và đầu ra sau đây:
Bảng 66-10 mô tả các startReceiveMessageRequest tin đầu vào chocác startReceiveMessage hoạt động
Bảng 66-10 startReceiveMessageRequest đầu vào tin nhắn mô tả
registrationIdentifier xsd: string Không Một định đăng ký
messageService
ActivationNumber
XSD: anyURI Không Dịch vụ tin nhắn số kích hoạt
tiêu chí xsd: string Vâng Mô tả chuỗi
Không có startReceiveMessageResponse thông điệp đầu ra chocác startReceiveMessage hoạt động
66.4.1.2 stopReceiveMessage hoạt động
Cách gọi hoạt động này loại bỏ các ràng buộc trước đó được thiết lập giữa mộtkhách hàng và một thiết bị đầu cuối nhận Khách hàng để định rõ ID đăng kýtương tự như đã được cung cấp khi startReceiveMessage được gọi là để xác địnhcác ràng buộc thiết bị đầu cuối đang được phá vỡ Nếu không có đăng ký kết IDtương ứng được gọi đến máy chủ cho ứng dụng này, một chính sách kết quả Lỗi
Bảng 66-11 mô tả các stopReceiveMessageRequest tin đầu vào chocác stopReceiveMessage hoạt động
Bảng 66-11 stopReceiveMessageRequest đầu vào tin nhắn mô tả
Trang 13Phần Tên Phần Loại Tùy chọn Mô tả
registrationIdentifier xsd: string Không Một định đăng ký
Không có stopReceiveMessageResponse thông điệp đầu ra chocác stopReceiveMessage hoạt động
66,5 Parlay X Messaging Client API và Client Proxy gói
Trong khi nó có thể lắp ráp một Parlay X nhắn khách hàng chỉ sử dụng các tậptin Parlay X WSDL và một trang web công cụ lắp ráp dịch vụ, dựng sẵn khaidịch vụ web và giao diện được cung cấp cho các Parlay X giao diện nhắn hỗtrợ Do khó khăn trong việc lắp ráp một dịch vụ web SOAP với file đính kèmtrong phong cách bắt buộc của Parlay X, Oracle khuyến cáo việc sử dụng cácAPI cung cấp hơn là bắt đầu từ WSDL
Đối với một danh sách đầy đủ của các lớp học có sẵn trong Parlay X nhắn API,xem javadoc nhắn Các điểm vào chính cho các API là thông qua các lớp kháchhàng như sau:
oracle.sdp.parlayx.multimedia_messaging.send.SendMessageClient
oracle.sdp.parlayx.multimedia_messaging.receive.ReceiveMessageClient
oracle.sdp.parlayx.multimedia_messaging.extension.receive_manager ReceiveMessageManager
Mỗi lớp khách hàng cho phép một ứng dụng khách hàng để gọi các hoạt độngtrong giao diện tương ứng Thêm tham số dịch vụ web như URL cổng từ xa vàbất kỳ thông tin bảo mật cần thiết, được cung cấp khi một thể hiện của lớp kháchhàng được xây dựng Xem javadoc cho biết thêm chi tiết Các thông tin bảo mậtđược truyền đến máy chủ sử dụng tiêu chuẩn tiêu đề WS-Security, như là bắtbuộc X đặc điểm kỹ thuật xiên
Quá trình chung cho một ứng dụng khách hàng là tạo ra một trong những lớpkhách hàng ở trên, thiết lập các mục cấu hình cần thiết (thiết bị đầu cuối, tênngười dùng, mật khẩu), sau đó gọi một trong những phương pháp kinh doanh (ví
Trang 14dụ,SendMessageClient.sendMessage () , vv ) Cho ví dụ về cách sử dụng APInày, xem các mẫu tin nhắn trên Oracle Technology Network (OTN), và đặcbiệt usermessagingsample-parlayx-src.zip
66,6 ứng dụng trò chuyện mẫu với Parlay X API
Chương này mô tả làm thế nào để tạo, triển khai và chạy các ứng dụng chat mẫuvới Parlay X API cung cấp với Oracle người dùng dịch vụ nhắn trên OTN
Lưu ý:
Để tìm hiểu thêm về các mẫu mã cho Oracle người dùng dịch vụ nhắn tin, hoặc
để chạy các mẫu chính mình, xem Oracle SOA Suite mẫu
Một khi bạn đã điều hướng đến trang này, bạn có thể tìm thấy các mẫu mã choOracle người dùng dịch vụ nhắn tin bằng cách nhập các từ tìm kiếm "UMS" và
nhấn Tìm kiếm
Lưu ý:
Để tìm hiểu về kiến trúc và các thành phần của Oracle người dùng dịch vụ nhắn
tin, xem Oracle Fusion Middleware Bắt đầu với Oracle SOA Suite
Chương này gồm các phần sau:
Phần 66.6.1, "Tổng quan"
Phần 66.6.2, "Chạy mẫu được xây dựng trước"
Phần 66.6.3, "Kiểm tra mẫu"
Phần 66.6.4, "Tạo ra một ứng dụng mới kết nối Server"
66.6.1 Tổng quan
Mẫu này thể hiện như thế nào để tạo ra một ứng dụng chat dựa trên web để gửi
và nhận tin nhắn thông qua email, tin nhắn SMS, hoặc IM Các mẫu sử dụngParlay X API dịch vụ Web dựa trên các chuẩn tương tác với một máy chủ nhắntài Ứng dụng mẫu bao gồm các trang web mã proxy dịch vụ cho mỗi ba giaodiện dịch vụ web: SendMessage và dịch vụ ReceiveMessage được định nghĩabởi Parlay X, và các dịch vụ ReceiveMessageManager đó là một phần mở rộng