構建Webservices服務 axis引擎

AXIS 必要的jar包,放入web項目的lib目錄 java

axis-ant.jar
axis.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
jaxrpc.jar
log4j-1.2.8.jar
saaj.jar
wsdl4j-1.5.1.jar web

 

在web.xml 加入如下信息 apache

<servlet>
		<servlet-name>AxisServlet</servlet-name>
		<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>*.jws</url-pattern>
	</servlet-mapping>

	<mime-mapping>
		<extension>wsdl</extension>
		<mime-type>text/xml</mime-type>
	</mime-mapping>

	<mime-mapping>
		<extension>xsd</extension>
		<mime-type>text/xml</mime-type>
	</mime-mapping>

 

編寫MyMath.java 文件 實現方法,(注意這個類不要放入任何包下)。寫完後在webRoot目錄下新建axis文件夾,把這個文件改爲MyMath.jws 後綴。就大功告成啦 app

 

http://localhost:8080/MyAppServer/axis/MyMath.jws?wsdl url

這個路徑就是webservice路徑 code

 

接下來就是靠客戶端解析了,接口已經完成了 orm

客戶端一樣導入lib jar包 server

private static void getWebserver()
	{
		Service service =new Service();
		try
		{
			Call call = (Call) service.createCall();
			call.setTargetEndpointAddress(new URL("http://localhost:8080/MyAppServer/axis/MyMath.jws?wsdl"));
			Integer result = (Integer) call.invoke("squared", new Object[]{30});  //傳入參數
			System.out.println(result);
			
		} catch (ServiceException e)
		{
			e.printStackTrace();
		} catch (MalformedURLException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (AxisFault e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
相關文章
相關標籤/搜索