Java开发和部署WebService客户端

近日需要通过一台服务器定时调用另外一台服务器的一个WebService,那个WebService是用PHP写的,难度很小。

可是在Linux服务器下部署相关的WebService客户端对我来说就是新东西了。

最近在搞Java项目,所以首先想到用Java来做,步骤很简单:

在Eclipse中New一个Web Service Client,给它一个wsdl地址即可生成相关的代理类;接下来只需要编写一个具有Main函数的类就可以了:

String endpoint = “Web Service地址”; //不能包含?wsdl
YourWebServiceNameProxy wsp = new YourWebServiceNameProxy (endpoint);
try {
String resultStr = wsp.MyMethod(“arg0″,”arg1”);
System.out.println(resultStr);
} catch (RemoteException e) { System.out.println(“RemoteException异常”); e.printStackTrace(); }
catch (Exception e) { System.out.println(“异常”); e.printStackTrace(); }

测试通过之后,需要Export为一个可执行的Jar包,然后上传到Linux服务器,通过命令行进行测试:

java -jar ./myjar.jar “参数”

可能会报一个错误:Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled

需要两个jar包:mail.jar,activation.jar,本机找不到就从网上下载吧。不过这种执行jar包的方式在命令行加载第三方包比较困难,最好把第三方包拷贝到JAVA_HOME/jre/lib/ext下,java会自动搜索这个路径;

测试通过之后,用crontab来进行调度。