Vlad Virlan

Greenhorn
+ Follow
since Sep 17, 2015
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Vlad Virlan

I think Java EE 6 Web Services Developer Certified Expert 1Z0-897 is one of the hardest because there is no book specifically aimed at the exam. However there are training kits, tutorials..
The solution is to add the Java EE API jar to classpath like so:

As I've seen on the forum, it looks like the most questions are about WS Security and Best practices.
Yes, these objectives have been created based on Mikalai Zaikin (thanks!) study guide as well as on some other resources.
Those are for an older version of the certification. Here's for the new version:

1 Section 1: Create an SOAP Web Service in a Servlet Container 10
1.1 Create a web service starting from a WSDL file using JAX-WS 10
1.1.1 Use wsimport tool to generate artifacts from WSDL 10
1.1.2 Use external and embedded <jaxws:package>, <jaxws:enableWrapperStyle>, <jaxws:class> customizations 11
1.1.3 Use JAXB customizations to configure mapping. 13
1.1.4 Build the web service implementation using the above artifacts. 15
1.1.5 Access MessageContext.SERVLET_CONTEXT from the injected @WebServiceContext 15
1.1.6 Configure deployment descriptors (web.xml, webservices.xml) for URL patterns, HTTP security, container authorization, caller authentication, and message protection. JAX-WS runtime may also be configured to perform message layer authentication and protection. 15
1.1.7 Compile and package the web service into a WAR file 20
1.1.8 Deploy the web service into a Java EE servlet container 20

1.2 Create a web service starting from Java Classes using JAX-WS 20
1.2.1 Service Implementing Bean (SIB) 20
1.2.2 Service Endpoint Interface (SEI) 20
1.2.3 Use @WebService to indicate a service 21
1.2.4 Use @WebMethod, @WebMethod(exclude) to indicate service methods 23
1.2.5 Use @SOAPBinding to select doc/lit, doc/bare, rpc/lit style of web service 26
1.2.6 Use @Oneway where the service doesn't have any response 30
1.2.7 Use @WebParam, and @WebResult to customize parameter and operation names 30
1.2.8 Use checked exceptions to indicate service specific faults. 35
1.2.9 Use wsgen tool to generate artifacts in Java EE5 (optional in Java EE6, as artifacts are generated at run time). 35
1.2.10 Configure deployment descriptors (web.xml, webservices.xml) for URL patterns, HTTP security, container authorization, caller authentication, and message protection. JAX-WS runtime may also be configured to perform message layer authentication and protection. 36
1.2.11 Compile and package the web service into a WAR file 36
1.2.12 Deploy the web service into a Java EE servlet container 36

1.3 Use wsimport tool to generate artifacts from WSDL 36

1.4 Use external and embedded <jaxws:package>, <jaxws:enableWrapperStyle>, <jaxws:class> customizations 36

1.5 Use JAXB customizations to configure mapping 36

1.6 Build the web service implementation using the above artifacts 36

1.7 Access MessageContext.SERVLET_CONTEXT from the injected @WebServiceContext 36


2 Section 2. Create a RESTful web service in a servlet container 36
2.1 Create a web service using JAX-RS, refer to Jersey implementation for examples 36
2.1.1 Annotate a class with a @Path annotation to respond to URI templates. 36
2.1.2 Annotate the class's methods to respond to HTTP requests using the corresponding JAX-RS annotations (@GET, @POST, etc.). 37
2.1.3 Use the JAX-RS @Consumes and @Produces annotations to specify the input and output formats for the RESTful web service. 37
2.1.4 Use @PathParam, @QueryParam, @MatrixParam and @HeaderParam to extract request data. 37
2.1.5 Use the UriInfo and UriBuilder to create URIs that refer to resources in the service. 40
2.1.6 Use ResponseBuilder to create response with customized status and additional metadata. 42
2.1.7 Implement a MessageBodyReader and MessageBodyWriter to add support for custom request and response data types 43
2.1.8 Implement ExceptionMapper to map a custom Exception to a response. 46
2.1.9 Use Request to add support for HTTP preconditions. 47
2.1.10 Implement the functionality of the JAX-RS resource's methods. 47
2.1.11 Use @Path on a method to define a subresource. 47
2.1.12 Configure deployment descriptor (web.xml) for base URL pattern, HTTP security (via security-constraints in web.xml) 48
2.1.13 Compile and package 48
2.1.14 Deploy the web service in a Java EE servlet container 48
3 Section 3. Create a SOAP based web service implemented by an EJB component 49
3.1 Create a web service starting from a WSDL file using JAX-WS 49
3.1.1 Use wsimport tool to generate artifacts and use customization files for wsimports if needed 49
3.1.2 Create an EJB web service implementations using annotations (@Stateless or @Singleton) 49
3.1.3 Configure deployment descriptors (ejb-jar.xml, webservices.xml) for transactions, etc. 49
3.1.4 Configure container role based access control via method-permissions in ejb-jar.xml or via access control annotations on EJB. 49
3.1.5 Configure caller authentication and message protection; either by Servlet Container via web.xml, and/or by JAX-WS message processing runtime. 49
3.1.6 Compile and package the web service into a EAR/WAR file (Java EE 6 - WAR can also have EJBs). 49
3.1.7 Deploy the web service into a Java EE container. 49
3.2 Create a web service starting from a Java source using JAX-WS 49
3.2.1 Use wsgen tool to generate artifacts in Java EE5 from EJB classes (optional in Java EE 6 - as artifacts are generated at run time). 49
3.2.2 Configure deployment descriptors (ejb-jar.xml, webservices.xml) for transactions, etc. 49
3.2.3 Configure container role based access control via method-permissions in ejb-jar.xml or via access control annotations on EJB. 50
3.2.4 Configure caller authentication and message protection; either by Servlet Container via web.xml, and/or by JAX-WS message processing runtime. 50
3.2.5 Compile and package the web service into a WAR/EAR file. 50
3.2.6 Deploy the web service into a Java EE container. 50
4 Section 4. Create a RESTful web service implemented by an EJB component 50
4.1 Create a web service using JAX-RS from EJB classes. 50
4.1.1 Annotate an enterprise bean class with a @Path annotation to respond to URL patterns. 51
4.1.2 Annotate the class's methods to respond to HTTP requests using the corresponding JAX-RS annotations (@GET, @POST, etc.). 52
4.1.3 Use the JAX-RS @Produces and @Consumes annotations to specify the input and output resources for the RESTful web service. 53
4.1.4 Implement the functionality of the JAX-WS resource's methods. 56
4.1.5 Configure container role based access control via method-permissions in ejb-jar.xml or via access control annotations on EJB. 58
4.1.6 Configure caller authentication (for access control protected methods) and message protection by Servlet Container via web.xml. 58
4.1.7 Compile and package. 58
4.1.8 Deploy the web service in a Java EE servlet container. 58
5 Section 5. Configure Java EE security for a SOAP web service 61
5.1 Configure security requirements of service using Java EE-container based security (overlaps with steps in other tasks - repeated here for convenience) 61
5.1.1 Configure security requirements through deployment descriptors (web.xml, webservices.xml) for a Servlet-based web service endpoint: container authorization, caller authentication, and message protection. JAX-WS runtime may also be configured to perform message layer authentication and protection. 61
5.1.2 Configure security requirements through deployment descriptors (ejb-jar.xml, webservices.xml) for EJB-based web service endpoint: 61
5.1.3 Configure security requirements through deployment descriptor (web.xml) for JAX-RS based web service endpoint. 61
6 Section 6. Create a web service client for a SOAP based web service 61
6.1 Create a standalone client. 61
6.1.1 Use wsimport to generate artifacts. 61
6.1.2 Create a client application using these artifacts. 65
6.1.3 Package and deploy accordingly. 72
6.2 Create a client in a managed component in a EE container. 72
6.2.1 Use wsimport to generate artifacts. 72
6.2.2 Using @WebserviceRef in the client application. 73
6.2.3 Package and deploy accordingly. 76
7 Chapter 7. Create a web service client for a RESTful web service 79
7.1 Use a browser to access a JAX-RS resource 79
7.2 Use the java.net.* APIs to access a JAX-RS resource. 79
7.3 Use java.net.Authenticator to access a secure JAX-RS resource. 81
7.4 Use Ajax to access a JAX-RS resource. 83
7.5 Use the Jersey client API to access a JAX-RS resource. 85
7.6 Use the JAX-WS HTTP binding to access a JAX-RS resource. 91
8 Chapter 8. Create a SOAP based web service using Java SE platform. 94
8.1 Create a web service starting from a WSDL file using JAX-WS. 94
8.1.1 Use wsimport tool to generate artifacts and use customization files for wsimports if needed. 94
8.1.2 Build the web service implementation using the above artifacts. 95
8.1.3 Use Endpoint API to configure and deploy it in Java SE 6 platform. 96
8.2 Create a web service starting from a Java source using JAX-WS. 98
8.2.1 Use wsgen tool to generate artifacts in Java EE5 (optional in Java EE6 - as artifacts are generated at run time) 98
8.2.2 Use Endpoint API to configure and deploy it in Java SE 6 platform. 99
9 Section 9. Create handlers for SOAP web services. 100
9.1 Configure SOAP and logical handlers on the server side. 104
9.1.1 Use @HandlerChain annotation. 104
9.1.2 Use deployment descriptors. 105
9.2 Configure SOAP and logical handlers on the client side. 107
9.2.1 Use deployment descriptors. 107
9.2.2 Use programmatic API. 107
10 Section 10. Create low-level SOAP web services. 108
10.1 Describe the functions and capabilities of the APIs included within JAXP. 108
10.2 Describe the functions and capabilities of JAXB, including the JAXB process flow, such as XML-to-Java and Java-to-XML, and the binding and validation mechanisms provided by JAXB. 116
10.3 Use Provider API to create a web service. 122
10.3.1 Process the entire SOAP message, using the SAAJ APIs. 122
10.3.2 Process only the SOAP body, using JAXB. 128
10.4 Use Dispatch API to create a dynamic web service client. 130
11 Section 11. Use MTOM and MIME in a SOAP web service. 135
11.1 Use MTOM on the service. 135
11.1.1 Use @MTOM annotation with a web service. 137
Setting the Attachment Threshold 139
Streaming SOAP Attachments 139
Client Side Example 139
Server Side Example 140
Configuring Streaming SOAP Attachments 141
11.1.2 Use MTOM policy in WSDL. 142
11.1.3 Use MTOM in the deployment descriptors 144
11.1.4 Use MTOMFeature with javax.xml.ws.Endpoint API 144
11.1.5 Use swaRef in WSDL. 145
11.1.6 Use MIME binding in WSDL 145
11.2 Use MTOM on the client. 145
11.2.1 Use MTOMFeature with getPort() methods. 145
11.2.2 Use MTOM in the deployment descriptors. 147
11.2.3 Sending any additional attachments using MessageContext properties. 147
12 Section 12. Use WS-Addressing with a SOAP web service 148
12.1 Use Addressing on the service 150
12.1.1 Use @Addressing annotation with a web service 150
12.1.2 Use wsam:Addressing policy in WSDL 152
12.1.3 Use Addressing in the deployment descriptors 153
12.1.4 Use AddressingFeature with javax.xml.ws.Endpoint API. 153
12.1.5 Use @Action and @FaultAction on the service methods. 156
12.1.6 Use WebServiceContext.getEndpointReference() 157
12.2 Use Addressing on the client. 158
12.2.1 Use AddressingFeature with getPort() methods. 158
12.2.2 Use Addressing in the deployment descriptors 159
12.2.3 Use BindingProvider.getEndpointReference() 159
12.2.4 Use getPort(EndpointReference) methods. 160
13 Section 13. Configure Message Level security for a SOAP web service 161
13.1 Select the appropriate Security Profile for your service. The selection would be based on a match of the Protection guarantees offered by the profile and those required by the service. 161
13.2 Configure Username/Password callbacks required by the Username Token Profile. 162
13.3 Configure any server side Validators as maybe applicable for the profile. There are defaults in GlassFish for most of them. 162
13.4 Optimize interaction between client and server by using WS-SecureConversation. 162
14 Section 14. Apply best practices to design and implement web services. 162
14.1 Use different encoding schemes - fast infoset. 162
14.2 14.2. Use GZIP for optimiziing message sizes. 162
14.3 14.3. Use catalog mechanism for WSDL access. 162
14.4 14.4. Refer to WS-I sample app for best practices. 162