導航:首頁 > 編程語言 > c調用javawsdl

c調用javawsdl

發布時間:2023-07-14 13:04:40

『壹』 java2wsdl生成的客戶端代碼怎麼調用

首先, 你要先把你的WS服務啟動起來,就是 比如ht tp:/ /localhost:8080/Example/services/HelloWorldService?wsdl
然後在你的另一個項目中建一個Webservice Client 客戶端,用來訪問你的WS服務。
建立Webservice Client 方法如下,在Eclipses中建立一個java工程,然後在src上右鍵--NEW---Other---Web Service Client --Xfire--在WsdL url 中寫上htt p:/ /localhost:8080/Example/services/HelloWorldService?wsdl-----下一步結束。
在src里的會出現一些java文件,你找一個以Client結束的java文件,在裡面的main方法中會有個service對象,現在你就可以直接用這個對象了,service.peerstatus(參數)這樣寫就行了。

『貳』 C#如何訪問java介面

C#調用Java實現的WebService介面的步驟:
方法一:在項目中添加webservice引用,通過向導即能完成
方法二:為方便使用期間使用如下的兩個命令來將java的webservice描述地址最終編譯成一個動態庫使用
1、生成類文件
wsdl.exe /l:cs /n:NWS /out:C:/NWS.cs http://***.***.**.**/WebSite1/Service?wsdl
2、將類文件編譯成動態庫
csc /target:library /out:"c:\NWS.dll" c:\NWS.cs
後面的使用就是一樣的了
不過這里注意兩個問題:
(1)描述地址最後的參數?wsdl有時候不可或缺,最好加上,因為你最終要編譯的就是這個wsdl文件。但如果是本地的wsdl文件的話,忽略此問題。
(2)wsdl.exe是微軟VS中提供的一個工具,在VS命令好中可以直接調用出來 這里要記住/n:TestWS也即/namespace:TestWS中你自行定義的一個命名空間TestWS ,這個在你後續調用java的webservice提供的方法的時候會使用到。

『叄』 java web項目怎麼使用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();
}
}
}

『肆』 java cxf動態調用服務端的webservices方法

WebService實現
1、 整個項目使用CXF來實現,在實現的過程中,在MyEclipse中對CXF下lib中的所有jar文件通過引入外部包來處理。
2、 在MyEclipse6.5中可以實現伺服器端和客戶端,但是客戶端在使用wsdl進行動態調用的過程中總是報錯,最後使用MyEclipse9.0實現了進行動態調用的實現。其中發生的錯誤如下:
(1)Exception in thread "main" java.lang.LinkageError: 正在從引導類載入器載入 JAXB 2.1 API, 但此 RI (來自jar:file:/D:/CXF/lib/jaxb-impl-2.2.5.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) 需要 2.2 API。請使用授權目錄機制將 jaxb-api.jar 放在引導類載入器中。(請參閱 http://java.sun.com/j2se/1.6.0/docs/guide/standards/)
解決辦法:
通過刪除引入包中的jaxb-impl-2.2.5.jar文件可以解決。
(2)java.lang.IllegalArgumentException: Can not set final com.sun.tools.internal.xjc.reader.internalizer.InternalizationLogic field

『伍』 Java調用wsdl,怎麼實現

java調用wsdl的步驟如下,主要是使用第三方框架:

步驟如下:

1.下載AXIS2類庫,AXIS2是目前java調用webservice的一個主要方法(由於更新較頻繁,請自行google該類庫的網址)

2.由於是第三方webservice,直接引入AXIS2的包就可以用了,代碼如下:

importjava.rmi.RemoteException;
importjavax.xml.rpc.ParameterMode;
importjavax.xml.rpc.ServiceException;
importorg.apache.axis.client.Call;
importorg.apache.axis.client.Service;
importorg.apache.axis.encoding.XMLType;

publicclasswebServiceTest{
publicStringinvokeRemoteFuc(){
Stringendpoint="http://localhost:8080/webservice/services/helloworld";
Stringresult="noresult!";
Serviceservice=newService();
Callcall;
Object[]object=newObject[1];
object[0]="DearImissyou";//Object是用來存儲方法的參數
try{
call=(Call)service.createCall();
call.setTargetEndpointAddress(endpoint);//遠程調用路徑
call.setOperationName("say");//調用的方法名

//設置參數名:
call.addParameter("str1",//參數名
XMLType.XSD_STRING,//參數類型:String
ParameterMode.IN);//參數模式:'IN'or'OUT'

//設置返回值類型:
call.setReturnType(XMLType.XSD_STRING);//返回值類型:String

result=(String)call.invoke(object);//遠程調用
}catch(ServiceExceptione){
e.printStackTrace();
}catch(RemoteExceptione){
e.printStackTrace();
}
returnresult;
}

publicstaticvoidmain(String[]args){
webServiceTestt=newwebServiceTest();
Stringresult=t.invokeRemoteFuc();
System.out.println(result);
}
}

該方法的原理很簡單,通過AXIS2封裝好的類設置URL和參數,直接調用就好了,我們要關注的就是設置URL,方法,還有方法的參數,其他的&paste好啦,很簡單吧,再看看其他的方法,我勒個去了,害我瞎搞兩天。遲點上個源碼共大家參考!

閱讀全文

與c調用javawsdl相關的資料

熱點內容
ftp命令行查看文件數量 瀏覽:496
linux查看設備的命令 瀏覽:827
pythongolang學哪個 瀏覽:349
金蝶加密鎖驅動下載 瀏覽:300
python編程基於自然語言處理庫 瀏覽:133
javaseruntime 瀏覽:902
cad如何將命令放在滑鼠旁邊 瀏覽:746
程序員對粉色 瀏覽:125
編譯器命令java 瀏覽:989
雲伺服器怎麼數據同步 瀏覽:685
c盤文件修復命令語 瀏覽:966
文件夾中文件怎麼上下移動 瀏覽:831
魅族手機用什麼軟體解壓 瀏覽:763
加密幣糖果 瀏覽:300
c編譯調試是什麼 瀏覽:631
安裝mysql服務命令 瀏覽:734
程序員cpa考試 瀏覽:200
汕頭買房用什麼app好 瀏覽:23
民生原號碼掉失如何登錄app 瀏覽:710
如何設置伺服器的重生點 瀏覽:272