webservice、soap、wsdl的理解
阿新 • • 發佈:2019-02-10
1webservice是一個概念,就是別人呼叫我工程的某個類中的某個方法。就是別人工程和我的工程進行通訊。通訊是跨平臺的,如別人的工程是.net,我的工程是java的,也可以實現別人對我某個類中某方法的呼叫。
web service 概念參考連結:http://www.cnblogs.com/Jessy/p/3528341.html
Web Service也叫XML Web Service WebService是一種可以接收從Internet或者Intranet上的其它系統中傳遞過來的請求,輕量級的獨立的通訊技術。是:通過SOAP在Web上提供的軟體服務,使用WSDL檔案進行說明。
2怎麼釋出一個web service?
通過Apache的axis釋出webservice
參考連結:http://blog.csdn.net/trocp/article/details/6757063
=====================================過程如下===============================
首先,AXIS 是apache的作品。
1.到apache去下載相關的包,包括axis.jar、axis-ant.jar、commons-discovery-0.2.jar等。將jar包放到WEB-INF/lib下面
2.在WEB.XML中按如下配置,直接copy進去就可以
- <servlet>
- <servlet-name>AxisServlet</servlet-name>
- <servlet-class>
- org.apache.axis.transport.http.AxisServlet
- </servlet-class>
- </servlet>
- <servlet>
- <servlet-name>AdminServlet</servlet-name>
- <servlet-class>
-
org.apache.axis.transport.http.AdminServlet
- </servlet-class>
- <load-on-startup>100</load-on-startup>
- </servlet>
- <servlet>
- <servlet-name>SOAPMonitorService</servlet-name>
- <servlet-class>
- org.apache.axis.monitor.SOAPMonitorService
- </servlet-class>
- <init-param>
- <param-name>SOAPMonitorPort</param-name>
- <param-value>5001</param-value>
- </init-param>
- <load-on-startup>100</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/servlet/AxisServlet</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>*.jws</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>SOAPMonitorService</servlet-name>
- <url-pattern>/SOAPMonitor</url-pattern>
- </servlet-mapping>
3.建立一個webservice類,就是一個普通的類包含一個普通方法
- publicclass SayHello {
- public String hello(String name){
- return"Hello "+name;
- }
- publicvoid in(String name){
- System.out.println(name + "come");
- Log4j.getLogger().info(name + "come");
- }
- }
4.配置server-config.wsdd,server-config.wsdd的路徑在WEB-INF下面,參考第一張圖。
- <?xmlversion="1.0"encoding="UTF-8"?>
- <deploymentname="defaultClientConfig"
- xmlns="http://xml.apache.org/axis/wsdd/"
- xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
- xmlns:handler="http://xml.apache.org/axis/wsdd/providers/handler">
- <globalConfiguration>
- <parametername="disablePrettyXML"value="true"/>
- <parametername="dotNetSoapEncFix"value="true"/>
- <parametername="enableNamespacePrefixOptimization"value="false"/>
- <requestFlow>
- <handlertype="java:org.apache.axis.handlers.JWSHandler">
- <parametername="scope"value="session"/>
- </handler>
- <handlertype="java:org.apache.axis.handlers.JWSHandler">
- <parametername="scope"value="request"/>
- <parametername="extension"value