Skip to content

Latest commit

 

History

History
162 lines (128 loc) · 5.72 KB

appendix.adoc

File metadata and controls

162 lines (128 loc) · 5.72 KB

Appendix A: Relationship to Other Standards

Jakarta Web Services Metadata relies on Java standards, Web Services standards, XML standards and Internet standards.

Java Language standards: J2SE 5.0 is needed for the JSR-175 defined Metadata Facility.

Java runtime and container standards: Jakarta Web Services Metadata does not define a container or runtime environment – implementers provide tools to map the Java classes to specific runtime environments. The functionality of the Jakarta containers is assumed. The features provided by Jakarta XML Web Services 2.3 are needed for the Web Services runtime as well as the mapping conventions; Java to XML/WSDL and WSDL/XML to Java. An optional mapping to Jakarta Enterprise Web Services deployment descriptors is provided in Jakarta Web Services Metadata.

Web Services standards: SOAP 1.1 and WSDL 1.1 are used to describe the Web Service and define the XML messages.

XML standards: The XML language and the XML Schema 1.0 are an integral part of Jakarta Web Services Metadata.

Internet standards: HTTP and HTTP/S provide basic protocols for Web Services.

Appendix B: Handler Chain Configuration File Schema

The XML Schema for the handler chain configuration file is described at http://java.sun.com/xml/ns/javaee/javaee_web_services_metadata_handler_2_0.xsd

Appendix C: Non-Normative Examples of Alternate Binding Annotations

This section defines non-normative examples of annotations for bindings to non-standard protocols and transports.

C.1 Annotation Name: HttpGetBinding

C.1.1 Description

Non-normative example of an alternate binding – in this case a raw HTTP binding as specified in WSDL 1.1 [7] section 4.

Member-Value Meaning Default

location

The location of the HTTP GET endpoint. When defined at the class level, defines as the base URI for all operations on the service. When defined at the method level, defines the URI for a particular operation relative to the base URI for the service.

Implementation-defined

C.1.2 Annotation Type Definition

@Target({TYPE, METHOD})
public @interface HttpGetBinding {
   String location() default "";
}

C.1.3 Example

@WebService
@HttpGetBinding(location="MyWebServices")
public class MyWebServiceImpl {
   @WebMethod
   @HttpGetBinding(location="ExampleOperation")
   public void myOperation() {
   }
};

Appendix D: Change Log

Version 2.1

  • Changed specification version and license information.

  • Updated Handler Chain Configuration File Schema in Appendix B to fix errors, add missing elements, and make it valid.

  • Updated Section 3.1 to clarify the explanation of when an SEI is implicitly defined by an implementation bean. The revised text refers to the appropriate section 3.3 in the Jakarta XML Web Services 2.0 specification for the actual SEI rules.

  • Updated the table in Section 4.4.1 describing the default "name" member value of the jakarta.jws.WebParam annotation to resolve the issue reported. The requirement to specify a name for "document" style, parameter style "BARE", and mode "OUT" or "INOUT" is lifted and default rules are defined. This change is consistent with section 3.6.2.2 of the Jakarta XML Web Services 2.0 specification.

Version 2.0

  • Added @WebResult.header.

  • A document "bare" style operation can have a void return type and a Holder as a parameter. The Holder of course would have to be INOUT. It could also have 2 parameters one IN and one OUT.

  • Changed @SOAPBinding to be configurable on a per operation basis rather than on the entire interface.

  • Made @HandlerChain.name and @SOAPMessageHandlers deprecated.

  • Added support for Jakarta XML Web Services.

  • Updated section 3.1 Service Implementation Bean, Item 6 to state that exposing all public methods if not @WebMethod annotations are declared to include consideration of annotation inheritence.

  • Changed default of @WebResult.name to @WebMethod.operationName + "Response" for Doc/lit/bare operations.

  • Clarified @WebService.targetNamespace usage

  • Clarified @WebParam.mode usage.

  • Added @WebMethod.exclude.

  • Explicitly stated that if an implementation bean references an endpoint interface, it must implement all the methods in the service endpoint interface.

  • Changed @WebParam.name to default to arg0, arg1, etc (based on position in the method signature).

  • Added @WebParam.partName and @WebResult.partName to specify part name used in the binding.

  • Added requirement that the name for headers must be unique with an operation.

  • Clairified that a target namespace of "" maps to the empty namespace, not the web service namespace.

  • For doc/lit bare, require that any INOUT or OUT parameters must have a @WebParam.name specified to avoid name clashes with the input parameter.

  • Added @WebService.portName for the wsdl:port

  • Updated Handler schema

  • Added document/literal example to Using Jakarta Web Services Metadata annotation to affect the shape of the WSDL

  • Included various editorial changes.

Version 0.9.4

  • Allowing @HandlerChain and @SOAPMessageHandler on implementation when an endpointInterface is used.

Version 0.9.3

  • Using RFC 2119 Keyword convention.

  • Added Retention annotation to spec annotation definitions.

  • Fixed various Java and XML syntax errors.

  • Changed Implementation Bean to expose all public method by default.

  • WSDL generation is REQUIRED.

  • Clarified support for Start with WSDL, and Start with WSDL and Java development modes as OPTIONAL.

  • Clarified @HandlerChain.file attribute syntax and processing requirements.

Version 0.9.2

  • Removed security annotations as these will be defined by JSR-250 – Common Annotations.

Version 0.9.1

  • Changed default name of @WebResult to be "return" instead of "result".

  • Fixed various Java and XML syntax errors.