This week's book giveaway is in the General Computing forum.
We're giving away four copies of Emmy in the Key of Code and have Aimee Lucido on-line!
See this thread for details.
Win a copy of Emmy in the Key of Code this week in the General Computing forum!

Ashutosh Joshi

Greenhorn
+ Follow
since Jul 13, 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 Ashutosh Joshi

HI Kristin,

I think my experience and profile matches the requirements you posted here. Currently I am waiting for new project assignment from my employer. I am in India currently and my employer is looking for a project for myself in US as I have approved H1B petition. Are you looking for only the people who are in US or Consider people with valid visa outside US as well?

3 years ago


Here is approximate weightage at objective level


3 years ago
Thanks Rohini for this info.

I have another score card by Mehtab Alam who took it on on 10/25. This will give fair idea about the weightage at main objective level.

3 years ago

Congratulations!!!

Have you done with architect's exam too?
Hi Rohini,

Would you mind sharing the score card? Just wondering what is the weightage at objective level for your case!

4 years ago

Congratulation on your achievement!

4 years ago

Congratulations!
Thanks for sharing the score card:)

4 years ago

Please have look at score card at https://coderanch.com/t/657064/sr/certification/Passed-Web-Service-OCWSD-exam

You can get fair idea on how # of questions at objective level for this exam

For example best practices & security section have 19(12+7) questions on the exam!

Thanks MZ, Vlad. Do you know the weightage at the main objective level?

Does exam score card has it mentioned?

Vlad Virlan wrote: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




Hi Vlad,
Where did you got these detailed objectives from? Oracle site mentions only the followings!


Create an SOAP web service in a servlet container
Create a RESTful web service in a servlet container
Create a SOAP based web service implemented by an EJB component
Create a RESTful web service implemented by an EJB component
Configure JavaEE security for a SOAP web service
Create a web service client for a SOAP based web service
Create a web service client for a RESTful web service
Create a SOAP based web service using Java SE platform
Create handlers for SOAP web services
Create low-level SOAP web services
Use MTOM and MIME in a SOAP web service
Use WS-Addressing with a SOAP web service
Configure Message Level security for a SOAP web service
Apply best practices to design and implement web services



Are you using SEI? If yes, how are you planning to create a client to test it?

Last week my interview for onsite (NJ) position didn't went well.

It was for long term and I have to travel immediately.

Now at offshore my manger release me from this project stating no further onsite positions in this project.

I am now on bench to look for other project having onsite positions.

Immigration team is again saying to wait till Jan-Feb.

How is current java developer market for 10+ years there in US as of today?
4 years ago

Prasad Krishnegowda wrote:so, you have an idea that you cannot go onsite before Jan-Feb. So, its up to you now to decide what is important to you at this stage of the career.
what is your focus now? Some points to be taken for consideration like, do you have family or plan to start a family? Do you have required monetary for this, and do you think, you can push yourself in your current company till Jan-Feb, in the mean time learning something new on your own.

BTW, have you ever gone onsite before? Do you wish to settle abroad?




I am looking for onsite for certain period of time say couple of years. I am not thinking to settle abroad as of now. Yes, remaining in the same company till I get the opportunity is challenge for now.

I should wait till March next year and then review situation at that time - that's what I decide for now.

Thanks Prasad for your opinion
4 years ago

Prasad Krishnegowda wrote:Assuming you work for Indian Service Based company, If you have H1, you can go onsite in October/November as service based industries will always be looking for onsite resources and why would they waste a resource with H1 in India when they spend so much for Visa. Yes we can also see people having H1 from last year waiting for their chances, but most of this would be due to no onsite opportunity in their projects/groups and managers will not be willing to release them to other groups. I would suggest you talk to your manager and see if he can provide some insight, whether when you can be sent onsite. I guess there is a US requirement in your project, that's the reason your H1 was processed, if it was not there, I am sure the application itself would have not reached the US Consulate (again, I assume its a big Service MNC in India).

P:S: These are just my suggestions, but you will have to decide which is best for you, as we have no idea what is your situation/priorities now and no one else is better in analyzing them than yourself.




Ours is emerging service based company. I guess to get maximum petitions through lottery our company filed as maximum applications as possible. Few lucky who got petition are released from their earlier project. For some cases their earlier project were not doing well with no onsite opportunity. I am not sure if they have mentioned exact project description at the time of filing the H1B application. Because they just asked for my resume and not the details of the project.

I guess I may have to check for projects within our company which has onsite opportunities. This is what immigration team explained and ask me to wait till Jan-Feb next year.

4 years ago

Prasad Krishnegowda wrote:It boils down to what is your interest and priorities now. Do you love to go onsite(US), if yes, you could wait to get a chance in current company as you have the H1 processed.



Thanks Prasad for quick reply. I would wait and love to go to US as well but we have H1 people waiting from last one year to get their stamping some have even stamping done and waiting. Although these waiting people are very few but I was speculating if I too have to wait for this much then I have to think. I am not sure how is US job market. My immigration team told me that in the month of Feb many client approves budget and will get opportunities. Looks like I have to wait till Feb-16, even then if US job markets are good at that time then I may get opportunity

4 years ago