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

怎麼調用web介面

發布時間: 2023-01-24 10:01:12

❶ c#怎麼調用webservice介面

1、右鍵單擊項目,在右鍵菜單中點擊【添加服務引用】

❷ 怎麼調用webservice介面

無法讀取伺服器。
你需要確認以下。
AuthPassword 端點認證用的口令。
AuthUser 端點認證用的用戶名。
EndPointURL 端點的URL。
ProxyPassword 代理認證的口令。
ProxyPort 代理伺服器使用的埠。
ProxyServer 代理伺服器的主機名或IP地址。
ProxyUser 代理認證的用戶名。
SoapAction HTTP頭部中SoapAction中的值。
這一屬性只能從低級的API中設定,如果使用SoapClient介面中的ConnectorProperty屬性(高級API)設置該屬性,它就會被忽略。
SSLClientCertificateName 如果存在,則該字元串標明用於SSL協議中的客戶端證書。
其語法為: SSLClientCertificateName [CURRENT_USER | LOCAL_MACHINE\[store-name\]]證書名,其預設的名字為 CURRENT_USER\MY。

❸ 如何調用webservice介面

調用webservice介面
一般分為靜態調用和動態調用
靜態調用就是在項目中直接添加服務引用或者web服務引用;
動態調用就是通過模擬http協議調用,這種網上很多提供動態調用服務的處理類,你找找直接用就可以了;
靜態調用特點:服務參數包含復雜類型(比如自定義的一些實體類)用它比較方便,但是服務如果改變(服務地址更新,服務內容更新)就需要在項目中更新服務引用,重新編譯程序;
動態調用特點:對於服務參數包含復雜類型的處理不是很好,如果服務內容改變不需要重新編譯程序;
大致想到就這樣,詳細的你可以在網上找找相關的網文,很多資料可以參考的

❹ 如何調用別人提供的webservice介面

1、調用WebService的Client端採用jax-ws調用WebService; 流程: 1) 建立JavaProject; 2) 建立WebServiceClient: (1) OtherèMyEclipseèWebServicesèWebServiceClient; (2) 「Strategy」只能選jax-ws(不能選XFire); (3) 選用WSDL URL;((3)(4)兩步表示只能用jax-ws採用WSDL解析的方式來調用WebService); (4) 下一步會提示加入jax-ws的包; (5) 「Finish」後會自動產生很多的類; 3) 手動設計本地調用WebService的類,流程: (1) 實例化一個Service:NumberPlusService srvc = new NumberPlusService()//為WebService中主類(包含各種介面) (2) 生成該WebService的本地代理: NumberPlusServicePortType delegate = srvc.getNumberPlusServiceHttpPort() (3) 通過該代理調用服務中的Operation: delegate.plus(4, 6)//介面中的方法 2、通過url調用WebService public int String delegate(int a, int b) { String URL = "http://localhost/WebServiceTest/services/NumberPlusService ?wsdl"; Object[] results = null; try { Client client = new Client(new URL(URL)); results = client.invoke("delegate", new Object[] { a,b}); } catch (MalformedURLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return (int) results[0]; }

❺ web前端怎麼調用api介面

1、首先需要確定第三方的介面的基本信息:地址、請求方式,參數、返回值,介面模式這里第三方的介面是restful風格的,採用get請求。

❻ 如何調用webservice介面

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實現的具體細節不感興趣,那麼你只需要看介面文件即可,在使用的時候,引入這個介面即可,就好像使用本地類一樣。

❼ 如何調用webservice介面

ava調用WebService可以直接使用Apache提供的axis.jar自己編寫代碼,或者利用Eclipse自動生成WebService Client代碼,利用其中的Proxy類進行調用。理論上是一樣的,只不過用Eclipse自動生成代碼省事些。
1、編寫代碼方式:
package com.yun.test;
import java.rmi.RemoteException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.message.PrefixedQName;
import org.apache.axis.message.SOAPHeaderElement;
import com.cezanne.golden.user.Exception;
import com.cezanne.golden.user.UserManagerServiceProxy;
import javax.xml.namespace.QName;
import java.net.MalformedURLException;
import javax.xml.rpc.ServiceException;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPException;

public class testWebService {
public static String getResult() throws ServiceException, MalformedURLException, RemoteException, SOAPException
{
//標識Web Service的具體路徑
String endpoint = "WebService服務地址";
// 創建 Service實例
Service service = new Service();
// 通過Service實例創建Call的實例
Call call = (Call) service.createCall();
//將Web Service的服務路徑加入到call實例之中.
call.setTargetEndpointAddress( new java.net.URL(endpoint) );//為Call設置服務的位置
// 由於需要認證,故需要設置調用的SOAP頭信息。
Name headerName = new PrefixedQName( new QName("發布的wsdl里的targetNamespace里的url", "string_itemName") );
org.apache.axis.message.SOAPHeaderElement header = new SOAPHeaderElement(headerName);
header.addTextNode( "blablabla" );
call.addHeader(header);

// SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement("發布的wsdl里的targetNamespace里的url", "SoapHeader");
// soapHeaderElement.setNamespaceURI("發布的wsdl里的targetNamespace里的url");
// try
// {
// soapHeaderElement.addChildElement("string_itemName").setValue("blablabla");
// }
// catch (SOAPException e)
// {
// e.printStackTrace();
// }
// call.addHeader(soapHeaderElement);
//調用Web Service的方法
org.apache.axis.description.OperationDesc oper;
org.apache.axis.description.ParameterDesc param;
oper = new org.apache.axis.description.OperationDesc();
oper.setName("opName");
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg0"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
oper.addParameter(param);
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg1"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
oper.addParameter(param);
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg2"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
oper.addParameter(param);
oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
oper.setReturnClass(java.lang.String.class);
oper.setReturnQName(new javax.xml.namespace.QName("", "return"));
oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
oper.setUse(org.apache.axis.constants.Use.LITERAL);
oper.addFault(new org.apache.axis.description.FaultDesc(
new javax.xml.namespace.QName("發布的wsdl里的targetNamespace里的url", "Exception"),
"Exception",
new javax.xml.namespace.QName("發布的wsdl里的targetNamespace里的url", "Exception"),
true
));
call.setOperation( oper );
call.setOperationName(new javax.xml.namespace.QName("發布的wsdl里的targetNamespace里的url", "opName"));
//調用Web Service,傳入參數
String res = ( String ) call.invoke( new Object[]("arg0","arg1"));
System.out.println("===============");
return res;
}
/**
* @param args
*/
public static void main(String[] args) {
try {
System.out.println(getResult());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
} catch (SOAPException e) {
e.printStackTrace();
}
}
}

2、利用Eclipse自動生成WebService client代碼就容易多了:(由於還不會發圖片,就用語言描述了,大家酬和看吧。。。)
首先,new project,選擇other,在輸入框中輸入Web Service Client,選中搜索後的結果,點擊Next,在Service definition中輸入 WebService的發布地址,點擊Finish
這樣,WebService Client代碼已經生成好了。
接下來寫一個Test類,在main函數中輸入如下代碼:

String endpoint = "伺服器的WebService的地址";
YourWebServiceNameProxy umsp = new YourWebServiceNameProxy (endpoint);
try {
String resultStr = umsp.opMethod("arg0","arg1");
System.out.println(resultStr);
} catch (Exception e) {
System.out.println("異常");
e.printStackTrace();
} catch (RemoteException e) {
System.out.println("RemoteException異常");
e.printStackTrace();
}

❽ 如何調用webservice介面

webservice主要是一些站點為咱們寫好了的方法,供咱們調用,當然也可以自己去編寫自己的webservice, 所以首先得找到這樣的介面。看一些站點有沒有這樣的介面。

下面咱們就拿一個簡單的天氣預報介面。先把天氣預報介面的地址輸入地址欄: ( http://webservice。36wu。com/weatherService.asmx 這個是例子,實際中根據個人需要修改)
會出現一些帶有鏈接的方法名和參數說明之類的。看完之後,然後進鏈接可以看到測試,可以先把想測試的參數寫進去,點擊調用,會出現一個xml文件,這些就是得到的結果,依情況而定咱們出把結果處理成想要的就可以了。

下面說一下怎麼在項目中調用:新建一個web項目,然後點擊添加引用服務如圖,然後點擊確定。

這樣就會發現在webconfig文件裡面多了一下節點,而且項目類中的Service References文件件多了一個綠色的東西。可以點擊看看他有哪些方法,應該是和咱們在瀏覽器輸入鏈接的方法是一致的,剩餘就是怎麼調用了。下面給出具體的代碼:本代碼值在webForm中先添加Lable、TextBox、Button以及Literal各一個。然後點擊按鈕。

protected void Button1_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.TextBox1.Text))
{
WeatherService.WeatherWebServiceSoapClient service = new WeatherService.WeatherWebServiceSoapClient();

String[] strWeatherInfo = service.getWeatherbyCityName(this.TextBox1.Text);
StringBuilder str = new StringBuilder("");
str.AppendLine("您查看天氣信息如下:");
foreach (string info in strWeatherInfo)
{
str.AppendLine(info+"<br/>");
}
this.Literal1.Text =str.ToString();
}
}

運行程序, 就看到效果了。

❾ web客戶端中怎麼調用webservice介面

客戶端調用WebService的方式
通過wsimport生成客戶端代碼
通過客戶端編程的方式調用
通過ajax調用 (js+XML)
通過URLConnection調用
2.2.1 通過wsimport生成客戶端代碼
參見2.1
2.2.2 通過客戶端編程的方式調用
(1),使用javax.xml.ws.Service類用於訪問web服務
(2),關鍵類Service
方法create – 用戶創建Service對像,提供wsdlurl和服務名。
getPort-用於通過指定namespace,portName和介面的范型。
在客戶端需要一個與伺服器介面完全相同的類。(仍然使用工具生成。但只需要一個介面。並需要簡單修改。如果返回的是復雜數據類型如POJO,還需要將POJO一並放到項目中)。
App.class文件:
Service s =
Service.create(new URL(「http://192.168.1.108:5678/hello?wsdl」),
new QName(targetNamespace,serviceName)
);
HelloService hs = s.getPort(portName,serviceEndpointInterface);
(注意:這里portName=new QName(targetNamespace,portName))
String str = hs.sayHello(「Lisi」,10);
System.out.println(str); //列印hello Lisi
說明 :關鍵類QName – 被稱為完全限定名即:Qualified Name的縮寫。
QName 的值包含名稱空間 URI、本地部分和前綴。
客戶端編程的方式不常用。