Java通过Axis2调用WCF
一.在http://axis.apache.org/axis2/java/core/download.cgi下载axis2(1.6:http://apache.etoak.com//axis/axis2/java/core/1.6.1/axis2-1.6.1-bin.zip)
二.解压到你觉得应该解压的目录
然后进入bin,执行axis2server.sh启动测试服务器,如果看到以下信息,表示启动成功.
mrjs-MacBook-Pro:bin mrj$ ./axis2server.sh Using AXIS2_HOME: /Users/mrj/Downloads/axis2-1.6.1 Using JAVA_HOME: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home[INFO] [SimpleAxisServer] Starting[INFO] [SimpleAxisServer] Using the Axis2 Repository/Users/mrj/Downloads/axis2-1.6.1/repository[SimpleAxisServer] Using the Axis2 Repository/Users/mrj/Downloads/axis2-1.6.1/repository[SimpleAxisServer] Using the Axis2 Configuration File/Users/mrj/Downloads/axis2-1.6.1/conf/axis2.xml[INFO] Clustering has been disabled[INFO] Deploying module: addressing-1.6.1 - file:/Users/mrj/Downloads/axis2-1.6.1/repository/modules/addressing-1.6.1.mar[INFO] Deploying module: metadataExchange-1.6.1 - file:/Users/mrj/Downloads/axis2-1.6.1/repository/modules/mex-1.6.1.mar[INFO] Deploying module: mtompolicy-1.6.1 - file:/Users/mrj/Downloads/axis2-1.6.1/repository/modules/mtompolicy-1.6.1.mar[INFO] Deploying module: ping-1.6.1 - file:/Users/mrj/Downloads/axis2-1.6.1/repository/modules/ping-1.6.1.mar[INFO] Deploying module: script-1.6.1 - file:/Users/mrj/Downloads/axis2-1.6.1/repository/modules/scripting-1.6.1.mar[INFO] Deploying module: soapmonitor-1.6.1 - file:/Users/mrj/Downloads/axis2-1.6.1/repository/modules/soapmonitor-1.6.1.mar[INFO] Deploying Web service: version.aar - file:/Users/mrj/Downloads/axis2-1.6.1/repository/services/version.aar[INFO] Listening on port 8080[INFO] [SimpleAxisServer] Started[SimpleAxisServer] Started
sudo chmod a+rwx *
sudo vim /etc/profile
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Homeexport AXIS2_HOME=/Users/mrj/Downloads/axis2-1.6.1
source /etc/profile
./wsdl2java.sh -o javacode -uri /Users/mrj/Downloads/PadManage.xml
./wsdl2java.sh -o javacode -uri http://127.0.0.1:8080/axis2/services/Version?wsdl
package sample.axisversion.test;import java.rmi.RemoteException;import org.apache.axis2.AxisFault;import org.junit.Test;import sample.axisversion.VersionExceptionException;import sample.axisversion.VersionStub;import sample.axisversion.VersionStub.GetVersion;/** * * @author mrj * */public class TestHelloAsix {@Testpublic void testGetVersion() {try {VersionStub versionStup = new VersionStub();GetVersion request = new GetVersion();System.out.println(versionStup.getVersion(request).get_return());} catch (AxisFault e) {e.printStackTrace();} catch (RemoteException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (VersionExceptionException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}wsimport -s /Users/mrj/Desktop/ -extension -p mypkg http://192.168.1.100:8812/PadManage/?wsdl