導航:首頁 > 版本升級 > wsdl文件如何使用

wsdl文件如何使用

發布時間:2024-07-06 16:50:54

1. 如何打開wsdl文件

有關更多信息,請參見
如何:在應用程序關系圖中定義應用程序

用於定義應用程序的應用程序類型和原型。基於wsdl
文件創建
.net
web
服務提供方終結點。有關更多信息,請參見
如何:向應用程序添加終結點、
如何:向應用程序系統添加終結點和
如何:向應用程序系統的成員添加終結點。使現有的
web
服務終結點符合
wsdl
文件。有關更多信息,請參見
如何:使
web
服務終結點符合
wsdl
文件。為了生成對
asp.net
應用程序上所實現的
.net
web
服務提供方終結點的
web
引用,應指定一個不同的
wsdl
文件。可以使用
web
服務提供方終結點的「wsdl
位置」屬性來指定此文件。說明:確保所指定的
wsdl
文件是對
web
服務的有效說明,並且它引用位於實際地址的
web
服務提供方終結點。如果
wsdl
文件為提供方終結點指定了一個不同的地址,將創建外部
web
服務,並且連接到該
web
服務提供方終結點的任何使用方終結點都將重新連接到該外部
web
服務。通過指定
wsdl
綁定位置來重寫自動生成的
wsdl
文件中的默認
wsdl
綁定定義。有關更多信息,請參見
如何:重寫
wsdl
文件中的
wsdl
綁定定義。更改要用於已實現的
asp.net
web
服務上的
web
服務提供方終結點的
wsdl
文件的位置。執行上述操作中的任何操作時,都將出現「添加
web
引用」對話框。說明:盡管在每一種情況下都會出現「添加
web
引用」對話框,但是只有在向解決方案資源管理器中的應用程序項目添加
web
引用時才會創建
web
引用。如果添加到項目中的
web
引用與解決方案中的現有
web
服務關聯,則添加
web
引用的應用程序將連接到現有的
web
服務。否則,將創建新的外部
web
服務,並且該服務將連接到此應用程序。有關更多信息,請參見
「添加
web
引用」對話框

如何:添加和移除
web
引用。在其他所有情況下,都可以使用此對話框來指定
wsdl
文件的位置。說明:不支持包含多個
wsdl
綁定的
wsdl
文件或引用多個
web
服務的
disco
文件。不要直接基於解決方案中已存在的
web
服務創建外部
web
服務。在應用程序關系圖上,只能引用
web
服務提供方終結點的位置一次。而應當為解決方案中不存在的
web
服務指定
wsdl
文件位置。為web
服務指定
wsdl
文件位置在「添加
web
引用」對話框中,輸入
wsdl
文件或
web
服務定義的位置,然後單擊「前行為表現」。提示:可以指定
wsdl
(.wsdl)
文件、web
上的位置或
web
服務的位置(如果
web
服務自動發布它的
wsdl
文件)。如果wsdl
文件存在,則「添加
web
引用」對話框將顯示有關
web
服務和它所提供的操作的信息。單擊「添加引用」。將出現處於選定狀態的外部
web
服務、biztalk
web
服務或
.net
web
服務提供方終結點。請注意不同情況下的結果以及可能需要執行的操作,如下所述:如果添加外部或
biztalk
web
服務,則系統定義模型
(.sdm)
文件將立即出現在解決方案資源管理器的「解決方案項」文件夾中。有關更多信息,請參見
系統定義模型
(sdm)
概述。如果基於
wsdl
文件在
asp.net
應用程序上創建了
.net
web
服務提供方終結點,並且該應用程序已實現,則應用程序項目中將出現
.asmx
文件和
web
服務類文件。有關更多信息,請參見
應用程序關系圖上的
asp.net
應用程序概述。如果為現有的
web
服務提供方終結點指定了一個不同的
wsdl
文件,則可能需要更新對該
web
服務的任何
web
引用。請參見任務
演練:在應用程序關系圖上定義應用程序其他資源
在應用程序關系圖中定義應用程序

2. 如何打開wsdl文件

webservice的發布一般都是使用WSDL(web service descriptive language)文件的樣式來發布的,在WSDL文件裡面,包含這個webservice暴露在外面可供使用的介面。
注意,以下的代碼並沒有經過真正的測試,只是說明這些情況,不同版本的Axis相差很大,最好以apache網站上的例子為准,這里僅僅用於說明其基本用法。

1,直接AXIS調用遠程的web service,直接調用模式如下:
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. java如何調用webservice介面

Java通過WSDL文件來調用webservice直接調用模式如下:

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());

}

}

}

4. 如何根據WSDL,通過eclipse中的axis,生成客戶端代碼和測試用例

你好。

Code Generator Wizard Guide for Eclipse Plug-in

eclipse菜單 file -> new -> other -> web service -> web service client

eclipse下還沒試過,wsad下很簡單點wsdl文件-》右鍵-》web services->generate client 搞定!

如果我的回答沒能回幫助您,請繼續追答問。

閱讀全文

與wsdl文件如何使用相關的資料

熱點內容
微信已被清理的文件 瀏覽:771
ug8的例圖在哪個文件夾里 瀏覽:641
dat文件轉換avi 瀏覽:173
安卓編程里上下邊距怎麼寫 瀏覽:427
雲班課文件在哪個文件夾 瀏覽:298
健康碼用到了哪些方面的大數據 瀏覽:379
蘋果手機拆裝教程 瀏覽:244
excel抓取文件鏈接 瀏覽:510
魔靈召喚主角升級 瀏覽:746
linux文件系統實驗 瀏覽:897
怎麼讀取電腦資料庫中的數據 瀏覽:443
蘋果7怎麼開啟鎖屏密碼 瀏覽:98
怎麼找到圖片上的文件 瀏覽:644
qq接收文件轉移 瀏覽:323
雙色球哪些數據最重要 瀏覽:133
從pc上傳文件找不到路徑 瀏覽:484
電腦文件傳微信朋友圈 瀏覽:9
豐都學校網站製作多少錢 瀏覽:183
linux分片視頻 瀏覽:805
頒發文件怎麼說 瀏覽:716

友情鏈接