Once you chosen a protocol – HTTP or JMS – you can choose which formats to
support for the messages that you send and receive over it. The message format
describes how the message is prepared to be sent over the protocol. For example,
your web service can format data as a SOAP message, the most common format
for web services, to send over either HTTP or JMS. Or it can format data in
raw XML, to send over either HTTP or JMS.
A web service can support multiple protocols and message formats, as can
a method or callback on the web service. To specify which protocols and message
formats are supported for a service or for an individual method or callback,
select the service, method, or callback in Design view and set the attributes
of the protocol property. The attributes of the protocol property are described
below:
The various combinations of protocols and message formats available in WebLogic
Workshop are described below:
-
form-post: To receive data from a form in a web browser,
your web service can support form POST over HTTP. Form POST encodes the
form data as a set of name-value pairs and transports the data in the body
of the HTTP POST request. The HTTP POST request is MIME-encoded; its MIME
type is "application/x-url-formencoded". No SOAP headers are sent
with form-post. By default form-post is
set to true.
-
form-get: To receive data from a form in a web browser,
your web service can support form GET over HTTP. Form GET encodes the form
data as a set of name-value pairs that are transmitted on the URL when the
form is submitted. No SOAP headers are sent with form-get.
By default form-get is set to true.
-
http-soap: Messages are SOAP-formatted and delivered
over HTTP. This is the most common protocol and message format for web services.
If your web service supports this protocol, you can also specify whether
the soap-style is set to document or RPC.
By default http-soap is set to true.
- http-soap12: Messages are SOAP-formatted according to the
SOAP 1.2 protocol and delivered over HTTP. The default namespace for the SOAP
1.2 envelope is http://www.w3.org/2002/12/soap-envelope. By default http-soap12
is set to false.
-
http-xml: Messages are sent as raw XML over HTTP, without
SOAP headers. The XML is transmitted over HTTP POST, but in this case the
encoding type is set to “text/xml”, which is not form-compatible. By default
http-xml is set to false.
-
jms-soap: Messages are SOAP-formatted and delivered
over a JMS queue. You can specify whether the soap-style is set to document
or RPC. By default jms-soap is set to false.
- jms-soap12: Messages are SOAP 1.2-formatted and delivered
over a JMS queue. The default namespace for the SOAP 1.2 envelope is http://www.w3.org/2002/12/soap-envelope.
By default jms-soap12 is set to false.
-
jms-xml: Messages are sent as raw XML over a JMS queue,
without SOAP headers. The MIME type is set to “text/xml”. By default jms-xml
is set to false.
-
soap-style: SOAP-formatted messages can be formatted
according to either of two encoding styles, document or
rpc. Document-style encoding is the more flexible style,
because the developer can determine the shape of the XML data and how it
maps to Java data structures. RPC-style encoding is a stricter style and
does not permit the developer to configure XML data. By default, soap-style
is set to document.
-
In order to use Test View to test and debug your web service or an individual
method or callback, the service, method, or callback must support HTTP GET;
that is, the form-get attribute must be set to true.
-
If your web service sends and receives messages through either of the
raw XML protocols, http-xml and jms-xml,
note that WebLogic Workshop cannot manage conversations for you using these
protocols, so callbacks and continue/finish methods will not work automatically.
-
If a method using the jms-soap protocol participates
in a conversation, any subsequent callbacks that participate in that conversation
must be explicitly configured to use the same protocol.
-
A service or method that supports the jms-soap protocol
can receive a TextMessage object whose body contains the
SOAP message. The TextMessage object must have an application-defined
property named "URI" that specifies the URI of the target service.
For example, to send a message to the service that's at http://myserver:portnumber/myapp/myjws.jws,
set the URI property to /myapp/myjws.jws.