|
Vivek Pandey
JAXWS 2.1 EA3 Posted?|?
Main?|?
Running JAXWS 2.1 wsimport on JDK 1.6
|
?
?
Webservices in JDK 6
Posted by?
vivekp?on December 12,2006 at 8:33 PM EST
Java SE 6?is out! Among other things it has exciting new end-to-end web services stack? -?
JAXWS 2.0 FCS RI. Couple of main things you should know:
Web service EndpointLets start with a POJO annotated with @WebService annotation. This annotation tells JAXWS that its a Web Service endpoint. You may like to annotate the methods that will be exposed as web services method with @WebMethod annotation. You dont need to specify it if all the methods will be exposed as web services method. Calculator.java package example;import javax.jws.WebService;import javax.jws.WebService;import javax.xml.ws.Endpoint;@WebService public class Calculator { @WebMethod public int add(int a,int b) { return a+b; } public static void main(String[] args){ // create and publish an endpoint Calculator calculator = new Calculator(); Endpoint endpoint = Endpoint.publish("http://localhost:8080/calculator",calculator); } } Now you need to do 2 things to build and publish this endpoint:
Thats it! You have deployed your web services endpoint. Now,try accessing the deployed WSDL by typing? Web Services ClientLets see how we develop a client based on proxy. Run wsimportYou would run wsimport on the deployed WSDL URL: wsimport -p client -keep? This step will generates and compile some classes. Notice -keep switch,you need it to keep the generated Java source files. By default wsimport only leaves behind the compiled class files. In this example the classes that matters are
Invoke the endpointCalculatorApp.java
package client;class CalculatorApp { public static void main(String args[]){ /** * Instantiate the generated Service */ CalculatorService service = new CalculatorService(); /** * Get the port using port getter method generated in CaculatorService */ Calculator calculatorProxy = service.getCalculatorPort(); /** * Invoke the remote method */ int result = calculatorProxy.add(10,20); System.out.println("Sum of 10+20 = "+result); } } Now that you have your client code is ready simply compile it: javac -cp . CalculatorApp.java and run: java -cp . client.CalculatorApp It will print: Sum of 10+20 = 30 Running latest JAXWS RI on JDK6The obvious question might be that how would you use latest?JAXWS 2.1 RI?on top of JDK6. JAXWS 2.1 RI is feature complete and we are busy fixing bug. For list of JAXWS 2.1 features and plan refer to the JAXWS 2.1?roadmap. All you need to do is to use?Endorsed Directory Mechanism??to point to the lib directory in JAXWS intallation: Runtime
Tools
Use JDK 6 to develop your web services application and continue providing feedback to?users@jax-ws.dev.java.net?and if you find an issue report them at?IssueTracker.
Related Topics >>
Blog Links >>
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |