About Question enthuware.ocejws.v6.2.170 :

Moderators: Site Manager, fjwalraven

Post Reply
johnlong
Posts: 185
Joined: Mon Jun 20, 2016 5:06 pm
Contact:

Re: About Question enthuware.ocejws.v6.2.170 :

Post by johnlong » Thu Nov 10, 2016 10:27 pm

Hi
If you deploy the Webservice in the problem statement you can check the WSDL and generate the client code. You will see that those are the classes generated by wsimport.
How am I suppose to know that ( know that MathTableImplService is the Service instance) on exam, without generating client code?

fjwalraven
Posts: 423
Joined: Tue Jul 24, 2012 2:43 am
Contact:

Re: About Question enthuware.ocejws.v6.2.170 :

Post by fjwalraven » Fri Nov 11, 2016 12:39 pm

You need to know how this works. You might want to check JSR-181 for more information.

Regards,
Frits

johnlong
Posts: 185
Joined: Mon Jun 20, 2016 5:06 pm
Contact:

Re: About Question enthuware.ocejws.v6.2.170 :

Post by johnlong » Mon Nov 14, 2016 1:23 am

You need to know how this works.
Could you explain in brief? Another question - how do you know that classes are generated automatically by wsimport?

fjwalraven
Posts: 423
Joined: Tue Jul 24, 2012 2:43 am
Contact:

Re: About Question enthuware.ocejws.v6.2.170 :

Post by fjwalraven » Mon Nov 14, 2016 2:50 am

Could you explain in brief?
Are you studying from a book? If you code a simple Webservice and publish it, you can see how the mapping is done. Furthermore (JSR-181) gives you the rules of how the mapping changes when you use attributes in the Webservice annotation.
Another question - how do you know that classes are generated automatically by wsimport?
Classes are not generated automatically: you have to generate them by using the wsimport tool.

Regards,
Frits

johnlong
Posts: 185
Joined: Mon Jun 20, 2016 5:06 pm
Contact:

Re: About Question enthuware.ocejws.v6.2.170 :

Post by johnlong » Mon Nov 21, 2016 12:24 am

Classes are not generated automatically: you have to generate them by using the wsimport tool.
You mean that there is no way to prepare classes manually?

johnlong
Posts: 185
Joined: Mon Jun 20, 2016 5:06 pm
Contact:

Re: About Question enthuware.ocejws.v6.2.170 :

Post by johnlong » Mon Nov 21, 2016 6:14 pm

You said that classes are generated by using wsimport?
Can't they be written manually by programmer?

Another question:
@WebService  (endpointInterface="notes.ws.MathTableService") -> MathTableService is SEI here
public class MathTableImpl implements MathTableService

@WebServiceRef(MathTableImplService.class)
private MathTableService service; -> MathTableService is proxy here

MathTableService is SEI and Proxy at the same time?

fjwalraven
Posts: 423
Joined: Tue Jul 24, 2012 2:43 am
Contact:

Re: About Question enthuware.ocejws.v6.2.170 :

Post by fjwalraven » Wed Nov 23, 2016 12:51 am

You said that classes are generated by using wsimport?
Can't they be written manually by programmer?
That is possible however not common.
MathTableService is SEI and Proxy at the same time?
This is what they call a SEI proxy.

From the @Addressing API:
Annotation Type Addressing
This annotation MUST only be used in conjunction with the WebService, WebServiceProvider, and WebServiceRef annotations. When used with a javax.jws.WebService annotation, this annotation MUST only be used on the service endpoint implementation class. When used with a WebServiceRef annotation, this annotation MUST only be used when a proxy instance is created. The injected SEI proxy, and endpoint MUST honor the values of the Addressing annotation.
Regards,
Frits

victor2016
Posts: 12
Joined: Wed Jan 20, 2016 7:16 pm
Contact:

Re: About Question enthuware.ocejws.v6.2.170 :

Post by victor2016 » Sat Dec 24, 2016 1:55 pm

Hi,

Just to confirm, this form:

Code: Select all

@WebServiceRef(type=MathTableService.class)
As I understand, according to jaxws-2.2 specification, is incorrect because it has a missing "value" element?

But had this expression be like so:

Code: Select all

@WebServiceRef
private MathTableImplService service;
Then that would be correct?

Thanks,
Victor.

fjwalraven
Posts: 423
Joined: Tue Jul 24, 2012 2:43 am
Contact:

Re: About Question enthuware.ocejws.v6.2.170 :

Post by fjwalraven » Sun Dec 25, 2016 5:25 am

Hi!
As I understand, according to jaxws-2.2 specification, is incorrect because it has a missing "value" element?
No, this is wrong because the @Addressing annotation will only work on a proxy instance (so it has nothing to do with the @WebServiceRef annotation). In other words: the type of the instance variable has to be the SEI type.
But had this expression be like so:
Code:

@WebServiceRef
private MathTableImplService service;

Then that would be correct?
When it comes to the Addressing feature there is no alternative.

Regards,
Frits

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest