當前位置:首頁 » 網頁前端 » web介面
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web介面

發布時間: 2022-01-12 23:35:16

⑴ http介面和webservice介面的區別

web service(SOAP)與HTTP介面的區別
什麼是web service? soap請求是HTTP POST的一個專用版本,遵循一種特殊的xml消息格式Content-type設置為: text/xml任何數據都可以xml化。

為什麼要學習web service? 大多數對外介面會實現web service方法而不是http方法,如果你不會,那就沒有辦法對接。

web service相對http (post/get)有好處嗎?

1.介面中實現的方法和要求參數一目瞭然

2.不用擔心大小寫問題

3.不用擔心中文urlencode問題

4.代碼中不用多次聲明認證(賬號,密碼)參數

5.傳遞參數可以為數組,對象等...

web service相對http(post/get)快嗎?

由於要進行xml解析,速度可能會有所降低。

web service 可以被http(post/get)替代嗎?

完全可以,而且現在的開放平台都是用的HTTP(post/get)實現的。

⑵ 請問什麼是web介面請具體點。

類介面是給別的類實現的。service介面的面向用戶開放的,比如用戶需要什麼程序數據,他訪問這個介面,程序返回他要的數據。webservice服務android比較多

⑶ web介麵包括http介面嗎

web service(SOAP)與HTTP介面的區別
什麼是web service? soap請求是HTTP POST的一個專用版本,遵循一種特殊的xml消息格式Content-type設置為: text/xml任何數據都可以xml化。

為什麼要學習web service? 大多數對外介面會實現web service方法而不是http方法,如果你不會,那就沒有辦法對接。

web service相對http (post/get)有好處嗎?

1.介面中實現的方法和要求參數一目瞭然

2.不用擔心大小寫問題

3.不用擔心中文urlencode問題

4.代碼中不用多次聲明認證(賬號,密碼)參數

5.傳遞參數可以為數組,對象等...

web service相對http(post/get)快嗎?

由於要進行xml解析,速度可能會有所降低。

web service 可以被http(post/get)替代嗎?

完全可以,而且現在的開放平台都是用的HTTP(post/get)實現的。

⑷ 怎麼規范的開發webservice介面

以下是操作步驟:

1、編寫服務代碼

服務代碼提供了兩個函數,分別為sayHello和sayHelloToPerson,在HelloService.java類中

2、發布WebService

要將上邊寫的HelloService類發布為WebService,需要先搭建Web應用。下面是在Tomcat下使用Axis創建WebService服務的例子。

3、在Tomcat下創建Web應用

在該例子中,在Tomcat下創建了一個context path為test_webservice的WEB應用。

(1) 在Tomcat的webapps下創建如下文件系統

test_webservice

WEB-INF

lib

Classes

(2)在WEB-INF文件夾下創建web.xml文件,在web.xml中主要是配置axis。

4、復制axis相關的jar文件

將axis的相關jar文件復制到WEB-INF\lib文件夾下。這些文件包括:

activation.jar
axis.jar
axis-ant.jar
axis-schema.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
jaxrpc.jar
log4j-1.2.8.jar
mailapi.jar
saaj.jar
wsdl4j-1.5.1.jar
xmlsec-1.3.0.jar

5、測試發布的WEB應用

啟動Tomcat服務,打開IE瀏覽器,訪問http:host:port/test_webservice/services,

如果看到如下界面就說明AXIS部署成功了。

6、發布WebService

發布WebService需要使用現有的AdminService來實現,這里我寫了一個批處理文件來發布WebService,以後如果需要發布其他文件,只需要修改相應的參數就可以了。

(1)創建deploy.wsdd文件。

(2)創建發布WebService服務的批處理文件deploywebservice.bat。

其中E:\workspace\Libwebservice是存放axis對應的jar文件的文件夾,現在將所有的jar文件都加入到此文件夾中。

-l後的參數是本地要發布WebService的AdminService對應的訪問地址。

最後deploy.wsdd是對應的配置文件名稱。

(3) 將deploy.wsdd文件和deploywebservice.bat文件復制到同一個文件夾下,執行deploywebservice.bat批處理文件,就可以將deploy.wsdd中描述的Java類發布為WebService。發布完成之後再訪問http://host:port/test_webservice/services

⑸ webservice介面怎麼使用

webservice的調用,常用的大約有3種方式:
1、使用axis調用
2、使用xfire調用
3、使用cxf調用
項目中,採用axis進行調用,記錄如下,備忘:
ps教程:想當年的時候是用的xfire方式調用的,結果沒做記錄,現在已經完全記不得怎麼玩了。所以說要多寫博客啊 t_t
版本說明:
aixs版本:axis-bin-1_4.zip
java環境略
第一步:確保wsdl文件可用,文中為獲取到sendsmsservice.wsdl,當然url的也行。
第二步:執行生成客戶端代碼的腳本。腳本內容為:
set axis_lib=d:axis-1_4lib
set java_cmd=java -djava.ext.dirs=%axis_lib%
set output_path=.
set package=info.jyzh.wap.liaoning.push
%java_cmd% org.apache.axis.wsdl.wsdl2java sendsmsservice.wsdl -o%output_path% -p%package% -t

#查看wsdl2java的使用幫助#%java_cmd% org.apache.axis.wsdl.wsdl2java -help

ok,至此,客戶端代碼就生成出來了。還帶了一個單元測試哦。

實際工作中,碰到以下情況,客戶端不能直接連上webservice伺服器,中間被強大的代理伺服器擋住了。如下圖:

為此,修改生成的代碼,本次是在中作修改,如下:
static {
axisproperties.setproperty("http.proxyhost","88.88.88.88");
axisproperties.setproperty("http.proxyport","8080");
axisproperties.setproperty("http.proxyuser","asp教程yy");
axisproperties.setproperty("http.proxypassword","123456");
_operations = new org.apache.axis.description.operationdesc[1];
_initoperationdesc1();
}直接axis調用遠程的web service我覺得這種方法比較適合那些高手,他們能直接看懂xml格式的wsdl文件,我自己是看不懂的,尤其我不是專門搞這行的,即使一段時間看懂,後來也就忘記了。直接調用模式如下:import java.util.date;import java.text.dateformat;import org.apache.axis.client.call;import org.apache.axis.client.service;import javax.xml.namespace.qname;import java.lang.integer;import javax.xml.rpc.parametermode; public class caclient { public static void main(string[] args) { try { string endpoint = "http://localhost:8080/ca3/services/casynrochnized?wsdl"; //直接引用遠程的wsdl文件 //以下都是套路
service service = new service(); call call = (call) service.createcall(); call.settargetendpointaddress(endpoint); call.setoperationname("adser");//wsdl裡面描述的介面名稱 call.addparameter("username", org.apache.axis.encoding.xmltype.xsd_date, javax.xml.rpc.parametermode.in);//介面的參數 call.setreturntype(org.apache.axis.encoding.xmltype.xsd_string);//設置返回類型
string temp = "測試人員"; string result = (string)call.invoke(new object[]{temp}); //給方法傳遞參數,並且調用方法 system.out.println("result is "+result); } catch (exception e) { system.err.println(e.tostring()); } }}2,直接soap調用遠程的webservice這種模式我從來沒有見過,也沒有試過,但是網路上有人貼出來,我也轉過來import org.apache.soap.util.xml.*;import org.apache.soap.*;import org.apache.soap.rpc.*; import java.io.*;import java.net.*;import java.util.vector; public class caservice{ public static string getservice(string user) { url url = null; try { url=new url("http://192.168.0.100:8080/ca3/services/casynrochnized"); } catch (malformerlexception mue) { return mue.getmessage(); } // this is the main soap object call soapcall = new call(); // use soap encoding soapcall.setencodingstyleuri(constants.ns_uri_soap_enc); // this is the remote object we're asking for the price soapcall.settargetobjecturi("urn:xmethods-casynrochnized"); // this is the name of the method on the above object soapcall.setmethodname("getuser"); // we need to send the isbn number as an input parameter to the method vector soapparams = new vector(); // name, type, value, encoding style parameter isbnparam = new parameter("username", string.class, user, null); soapparams.addelement(isbnparam); soapcall.setparams(soapparams); try { // invoke the remote method on the object response soapresponse = soapcall.invoke(url,""); // check to see if there is an error, return "n/a" if (soapresponse.generatedfault()) { fault fault = soapresponse.getfault(); string f = fault.getfaultstring(); return f; } else { // read result parameter soapresult = soapresponse.getreturnvalue (); // get a string from the result return soapresult.getvalue().tostring(); } } catch (soapexception se) { return se.getmessage(); } }}
3,使用wsdl2java把wsdl文件轉成本地類,然後像本地類一樣使用,即可。

⑹ webService介面是什麼

Web是使應用程序可以與平台和編程語言無關的方式進行相互通信的一項技術。Web 服務是一個軟體介面,它描述了一組可以在網路上通過標准化的 XML 消息傳遞訪問的操作。

它使用基於 XML 語言的協議來描述要執行的操作或者要與另一個 Web 服務交換的數據。一組以這種方式交互的 Web 服務在面向服務的體系結構(Service-Oriented Architecture,SOA)中定義了特殊的 Web 服務應用程序。

簡單的說WebService是一個SOA(面向服務的編程)的架構,它是不依賴於語言,不依賴於平台,可以實現不同的語言(通過xml描述)間的相互調用,通過Internet進行基於Http協議的網路應用間的交互。

通過SOAP在Web上提供的軟體服務,使用WSDL文件進行說明,並通過UDDI進行注冊。

(6)web介面擴展閱讀

Web Service技術, 能使得運行在不同機器上的不同應用無須藉助附加的、專門的第三方軟體或硬體, 就可相互交換數據或集成。

依據Web Service規范實施的應用之間, 無論它們所使用的語言、 平台或內部協議是什麼, 都可以相互交換數據。Web Service是自描述、 自包含的可用網路模塊, 可以執行具體的業務功能。

web廣泛用到的技術:

TCP/IP:通用網路協議,被各種設備使用

HTML(標准通用標記語言下的一個應用):通用用戶界面,可以使用HTML標簽顯示數據

NET: 不同應用程序間共享數據與數據交換

Java:寫一次可以在任何系統運行的通用編程語言,因為java具有跨平台特性

XML(標准通用標記語言下的一個子集):通用數據表達語言,在web上傳送結構化數據的容易方法

⑺ API介面與webservice介面的區別

1. webservice走HTTP協議和80埠。
2. 而你說的api,用的協議和埠,是根據開發人員定義的。

3. 這么說吧,api類似於cs架構,需要同時開發客戶端API和伺服器端程序。
4. 而WebService則類似於bs架構,只需要開發伺服器端,不需要開發客戶端,客戶端只要遵循soap協議,就可以調用。

⑻ java怎樣提供webservice介面

Java通過WSDL文件來調用webservice:

注意,以下的代碼並沒有經過真正的測試,只是說明這些情況,不同版本的Axis相差很大,大家最好以apache網站上的例子為准,這里僅僅用於說明其基本用法。
1,直接AXIS調用遠程的web service
這種方法比較適合那些高手,他們能直接看懂XML格式的WSDL文件,我自己是看不懂的,尤其我不是專門搞這行的,即使一段時間看懂,後來也就忘記了。直接調用模式如下:
import java.util.Date;
import java.text.DateFormat;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import java.lang.Integer;
import javax.xml.rpc.ParameterMode;

public class caClient {

public static void main(String[] args) {

try {
String endpoint = "http://localhost:8080/ca3/services/caSynrochnized?wsdl";
//直接引用遠程的wsdl文件
//以下都是套路
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endpoint);
call.setOperationName("addUser");//WSDL裡面描述的介面名稱
call.addParameter("userName", org.apache.axis.encoding.XMLType.XSD_DATE,
javax.xml.rpc.ParameterMode.IN);//介面的參數
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//設置返回類型

String temp = "測試人員";
String result = (String)call.invoke(new Object[]{temp});
//給方法傳遞參數,並且調用方法
System.out.println("result is "+result);
}
catch (Exception e) {
System.err.println(e.toString());
}
}
}
2,直接SOAP調用遠程的webservice
這種模式我從來沒有見過,也沒有試過,但是網路上有人貼出來,我也轉過來
import org.apache.soap.util.xml.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;

import java.io.*;
import java.net.*;
import java.util.Vector;

public class caService{
public static String getService(String user) {
URL url = null;
try {
url=new URL("http://192.168.0.100:8080/ca3/services/caSynrochnized");
} catch (MalformedURLException mue) {
return mue.getMessage();
}
// This is the main SOAP object
Call soapCall = new Call();
// Use SOAP encoding
soapCall.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
// This is the remote object we're asking for the price
soapCall.setTargetObjectURI("urn:xmethods-caSynrochnized");
// This is the name of the method on the above object
soapCall.setMethodName("getUser");
// We need to send the ISBN number as an input parameter to the method
Vector soapParams = new Vector();

// name, type, value, encoding style
Parameter isbnParam = new Parameter("userName", String.class, user, null);
soapParams.addElement(isbnParam);
soapCall.setParams(soapParams);
try {
// Invoke the remote method on the object
Response soapResponse = soapCall.invoke(url,"");
// Check to see if there is an error, return "N/A"
if (soapResponse.generatedFault()) {
Fault fault = soapResponse.getFault();
String f = fault.getFaultString();
return f;
} else {
// read result
Parameter soapResult = soapResponse.getReturnValue ();
// get a string from the result
return soapResult.getValue().toString();
}
} catch (SOAPException se) {
return se.getMessage();
}
}
}
3,使用wsdl2java把WSDL文件轉成本地類,然後像本地類一樣使用,即可。
這是像我這種懶人最喜歡的方式,仍然以前面的global weather report為例。
首先 java org.apache.axis.wsdl.WSDL2Java http://www.webservicex.net/globalweather.asmx.WSDL
原本的網址是http://www.webservicex.net/globalweather.asmx?WSDL,中間個各問號,但是Linux下面它不能解析,所以去掉問號,改為點號。
那麼就會出現4個文件:
GlobalWeather.java GlobalWeatherLocator.java GlobalWeatherSoap.java GlobalWeatherSoapStub.java
其中GlobalWeatherSoap.java是我們最為關心的介面文件,如果你對RMI等SOAP實現的具體細節不感興趣,那麼你只需要看介面文件即可,在使用的時候,引入這個介面即可,就好像使用本地類一樣。