IP Library Granted Patent US 8,516,123
Granted Patent B2
US 8,516,123 · App. 10/778,515 · Granted Aug 20, 2013

Runtime validation of messages for enhanced web service processing

Inventors: Nan Xie (San Mateo, CA); Vebhhav Singh (Sunnyvale, CA)
Assignee: Oracle International Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,516,123
App. No.
10/778,515
Granted
Aug 20, 2013
Kind
B2
Abstract

Inbound processing of web service request messages at runtime is enhanced by providing validation of the message structure against corresponding schema, at an intermediary web service server rather than at the web service level (e.g., entirely by a web service application). Hence, there is minimal delay in responding to the client upon determining an invalid message structure, and unnecessary processing of invalid messages by the web service application is avoided.

Claims (58)

1. A method for processing web service messages, the method comprising the computer-implemented steps of:

an intermediary server receiving a message from a client, wherein said intermediary server handles communications between said client and a web service application;

the intermediary server identifying one or more corresponding schema definitions that a structure of a portion of the message is supposed to comply with;

the intermediary server determining whether the structure of the portion of the message complies with the one or more corresponding schema definitions to which the portion of the message is supposed to comply,

wherein determining is performed by examining the one or more corresponding schema definitions;

if the structure is determined to comply with the one or more corresponding schema definitions, then the intermediary server passing the message to the web service application; and

wherein each of said one or more corresponding schema definitions defines at least one XML element;

if the structure is determined not to comply with the one or more corresponding schema definitions:

rejecting the message without communicating with said web service application; and

transmitting a second message to the client which indicates that a portion of the message does not comply with the one or more corresponding schema definitions to which the portion of the message is supposed to comply.

2. The method of claim 1 , wherein the step of receiving a message includes receiving a message that conforms to Simple Object Access Protocol (SOAP).

3. The method of claim 1 , wherein the step of determining includes comparing a header of the message with a schema definition that is associated with said web service application.

4. The method of claim 1 , wherein the step of determining includes comparing a body of the message with a schema definition that is associated with said web service application.

5. The method of claim 1 , wherein the step of determining includes comparing a message header with a first corresponding schema definition and comparing a message body with a second corresponding schema definition.

6. The method of claim 1 , further comprising the computer-implemented step of:

accessing said one or more corresponding schema definitions based on a reference in a description of said web service application, wherein said description is represented in Web Services Description Language (WSDL).

7. The method of claim 6 , further comprising the computer-implemented steps of:

identifying said web service application based on said message from said client; and

identifying said description based on a mapping of web service applications to corresponding descriptions.

8. The method of claim 1 , further comprising the computer-implemented steps of:

identifying an XML element name and an associated namespace from said message from said client; and

accessing said one or more corresponding schema definitions based on said XML element name and said associated namespace.

9. The method of claim 1 , wherein the step of transmitting the second message is performed in a synchronous manner with respect to receiving the message at the intermediary server.

10. The method of claim 1 ,

wherein the step of determining includes determining whether a first portion of said message complies with a first corresponding schema definition; and

wherein the step of passing includes passing said message to said web service application for determining whether a second portion of said message complies with a second corresponding schema definition to which said second portion is supposed to comply.

11. A computer-readable storage medium storing one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform steps comprising: an intermediary server receiving a message from a client, wherein said intermediary server handles communications between said client and a web service application;

the intermediary server identifying one or more corresponding schema definitions that a structure of a portion of the message is supposed to comply with;

the intermediary server determining whether the structure of the portion of the message complies with the one or more corresponding schema definitions to which the portion of the message is supposed to comply,

wherein determining is performed by examining the one or more corresponding schema definitions;

if the structure is determined to comply with the one or more corresponding schema definitions, then the intermediary server passing the message to the web service application; and

wherein each of said one or more corresponding schema definitions defines at least one XML element;

if the structure is determined not to comply with the one or more corresponding schema definitions:

rejecting the message without communicating with said web service application; and

transmitting a second message to the client which indicates that a portion of the message does not comply with the one or more corresponding schema definitions to which the portion of the message is supposed to comply.

12. The computer-readable storage medium of claim 11 , wherein receiving a message includes receiving a message that conforms to Simple Object Access Protocol (SOAP).

13. The computer-readable storage medium of claim 11 , wherein determining includes comparing a header of the message with a schema definition that is associated with said web service application.

14. The computer-readable storage medium of claim 11 , wherein determining includes comparing a body of the message with a schema definition that is associated with said web service application.

15. The computer-readable storage medium of claim 11 , wherein determining includes comparing a message header with a first corresponding schema definition and comparing a message body with a second corresponding schema definition.

16. The computer-readable storage medium of claim 11 , the steps further comprising:

accessing said one or more corresponding schema definitions based on a reference in a description of said web service application, wherein said description is represented in Web Services Description Language (WSDL).

17. The computer-readable storage medium of claim 16 , the steps further comprising:

identifying said web service application based on said message from said client; and

identifying said description based on a mapping of web service applications to corresponding descriptions.

18. The computer-readable storage medium of claim 11 , the steps further comprising:

identifying an XML element name and an associated namespace from said message from said client; and

accessing said one or more corresponding schema definitions based on said ML element name and said associated namespace.

19. The computer-readable storage medium of claim 11 , wherein transmitting the second message is performed in a synchronous manner with respect to receiving the message at the intermediary server.

20. The computer-readable storage medium of claim 11 , wherein determining includes determining whether a first portion of said message complies with the first corresponding schema definition; and wherein passing includes passing said message to said web service application for determining whether a second portion of said message complies with the second corresponding schema definition to which said second portion is supposed to comply.

21. A system for processing web service messages, the system comprising:

means for receiving a message from a client, at an intermediary server computer that handles communications between said client and a web service application;

means for identifying, by the intermediary server computer, one or more corresponding schema definitions that a structure of a portion of the message is supposed to comply with;

means for determining, by the intermediary server computer, whether the structure of the portion of the message complies with one or more corresponding schema definitions to which the portion of the message is supposed to comply;

wherein determining is performed by examining the one or more corresponding schema definitions; and

means for passing, by the intermediary server computer, the message to the web service application if the structure is determined to comply with the one or more corresponding schema definitions;

wherein each of said one or more corresponding schema definitions defines at least one XML element;

means for rejecting the message without communicating with said web service application if the structure is determined not to comply with the one or more corresponding schema definitions; and

means for transmitting a second message to the client which indicates that a portion of the message does not comply with the one or more corresponding schema definitions to which the portion of the message is supposed to comply if the structure is determined not to comply with the one or more corresponding schema definitions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2004
From: XIE, NAN; SINGH, VEBHHAV
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 014992/0509 →
Continuity (1)
Related Publication 20050198154A1 · Sep 8, 2005