欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

go語(yǔ)言如何使用wsdl,go語(yǔ)言入門

java web項(xiàng)目怎么使用wsdl文件

webservice的發(fā)布一般都是使用WSDL(web service descriptive language)文件的樣式來(lái)發(fā)布的,在WSDL文件里面,包含這個(gè)webservice暴露在外面可供使用的接口。

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、皋蘭網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、皋蘭網(wǎng)絡(luò)營(yíng)銷、皋蘭企業(yè)策劃、皋蘭品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供皋蘭建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:aaarwkj.com

注意,以下的代碼并沒(méi)有經(jīng)過(guò)真正的測(cè)試,只是說(shuō)明這些情況,不同版本的Axis相差很大,最好以apache網(wǎng)站上的例子為準(zhǔn),這里僅僅用于說(shuō)明其基本用法。

1,直接AXIS調(diào)用遠(yuǎn)程的web service,直接調(diào)用模式如下:

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 = "";

//直接引用遠(yuǎn)程的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);//接口的參數(shù)

call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//設(shè)置返回類型

String temp = "測(cè)試人員";

String result = (String)call.invoke(new Object[]{temp});

//給方法傳遞參數(shù),并且調(diào)用方法

System.out.println("result is "+result);

}

catch (Exception e) {

System.err.println(e.toString());

}

}

}

2,直接SOAP調(diào)用遠(yuǎn)程的webservice ,這種模式很少用,但是網(wǎng)絡(luò)上有人貼出來(lái),也轉(zhuǎn)過(guò)來(lái) :

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

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

}

}

}

如何使用Web Service進(jìn)行WSDL逆向生成服務(wù)端

使用Web Service進(jìn)行WSDL逆向生成服務(wù)端步驟:

在Eclipse中新建一個(gè)WSDL文件

改個(gè)名字為“manager.wsdl”。下一步,定義命名空間和協(xié)議等信息,默認(rèn)即行

finish后,會(huì)在主工作區(qū)出現(xiàn)

這是manager.wsdl的圖形化形式,點(diǎn)擊“Source”會(huì)可查看到源代碼

這是默認(rèn)生成的wsdl,我們要根據(jù)我們的項(xiàng)目需要,首先對(duì)方法名進(jìn)行修改。修改之后,右邊的input和output也跟著修改了,這兩個(gè)就是定義plus的輸入和輸出。 點(diǎn)擊input參數(shù)“plus”右邊的提示箭頭

就在這里定義輸入?yún)?shù)和和參數(shù)類型等信息,因?yàn)槲覀僷lus(float x, float y)方法中有兩個(gè)參數(shù)x和y,故我們將上圖改成兩個(gè)參數(shù)的序列,對(duì)比一下方法plus(float x, float y)

返回manager.wsdl視圖,選擇output參數(shù)右邊的箭頭。設(shè)置float plus(float x, float y)方法的返回值及其類型,因其返回值只有一個(gè),我們只須把上面的out的類型改成我們方法中用的float。點(diǎn)擊左上角的圖標(biāo)。

回到manager.wsdl,在源代碼視圖里右鍵選“Validate”,對(duì)xml文檔進(jìn)行檢驗(yàn),如果有錯(cuò)誤的,就根據(jù)需要修改。

圖形化編寫的wsdl文檔完成了,順便說(shuō)一下,方法是可以定義多個(gè)的

為簡(jiǎn)單起見(jiàn),我們就先以剛才做定義的那個(gè)方法為例,看看,如何根據(jù)wsdl文件,自動(dòng)生成Web Service的服務(wù)器端

我們New一個(gè)Web Service。在Web Service type中選擇“Top down Java Bean Web Service”。在Service definition中找到剛才寫的那個(gè)manager.wsdl文件

Web Service對(duì)話框,將服務(wù)類型的滑塊調(diào)到“Develop service”處。接下來(lái),就next – next –- finish就行。它會(huì)自動(dòng)生成Web Service服務(wù)端的接口和類,在類中,可找到我們定義的方法,我們只要修改方法plus的方法體,以實(shí)現(xiàn)我們要實(shí)現(xiàn)的功能即行。

如何寫一個(gè)簡(jiǎn)單的Web Service

本Guide利用Eclipse以及Ant建立一個(gè)簡(jiǎn)單的Web Service,以演示W(wǎng)eb Service的基本開(kāi)發(fā)過(guò)程:

1.系統(tǒng)條件:

Eclipse Java EE IDE for Web Developers

Java SE 6

Windows XP

2.基本環(huán)境搭建:

1)Java SE6 JDK的安裝:下載Java SE6 JDK,雙擊,安裝默認(rèn)選項(xiàng)進(jìn)行安裝即可。

2)Eclipse的安裝與配置:

安裝時(shí)直接解壓。

配置處有兩點(diǎn),WindowPreferencesJavaInstalled JREs確保如下設(shè)置:

安裝路徑可能略有不同。

WindowPreferencesJavaCompiler 確保如下設(shè)置:

3.建立Server端工程和相關(guān)包與類:

創(chuàng)建一個(gè)Java Project,命名為wsServerHelloWorld:

在這個(gè)項(xiàng)目下建立包:org.gnuhpc.wsServer

在這個(gè)包下邊建立類:SayHello

在SayHello.java文件中輸入以下代碼:

package org.gnuhpc.wsServer;

import javax.jws.WebService;

@WebService

public class SayHello {

private static final String SALUTATION = "Hello";

public String getGreeting(String name) {

return SALUTATION + " " + name;

}

}

其中注意到@WebService ,這個(gè)稱作annotation或者metadata,Java SE 5中的Web Services Metadata Specification引入的。Java SE 6中對(duì)于Web Services規(guī)范的升級(jí)以及JAX-WS(Java API for XML Web Services)2.0規(guī)范,這些升級(jí)使得我們Web Services的創(chuàng)建和調(diào)用變得更加容易。使用這些新功能,我們可以僅僅使用簡(jiǎn)單的Annotations注釋從一個(gè)Java類創(chuàng)建Web Services。開(kāi)發(fā)者將其類和方法之前用該annotations指定,類告訴runtime engine以Web Service的方式和操作來(lái)使能該類和方法。這個(gè)annotations可以產(chǎn)生一個(gè)可布署的Web Service,是一個(gè)WSDL映射annotations,將Java源代碼與代表Web Service的WSDL元素連接在了一起。

4.使用Ant產(chǎn)生Server端代碼:

首先在項(xiàng)目中新建一個(gè)文件:build.xml,然后使用OpenWithAntEditor打開(kāi),輸入以下腳本代碼:

project default="wsgen"

target name="wsgen"

exec executable="wsgen"

arg line="-cp ./bin -keep -s ./src -d ./bin

org.gnuhpc.wsServer.SayHello"/

/exec

/target

/project

default指定了默認(rèn)執(zhí)行的Target為wsgen,wsgen可以創(chuàng)建一個(gè)能夠使用WebService的類,它生成所有用于WebService發(fā)布的源代碼文件和經(jīng)過(guò)編譯過(guò)的二進(jìn)制類文件。它還生成WSDL和符合規(guī)范的該類的WebService。

Target名稱為wsgen,具體執(zhí)行的命令的參數(shù):

-cp 為類路徑

-keep后產(chǎn)生的java文件

-s 產(chǎn)生的源文件放在哪

-d 產(chǎn)生的輸出問(wèn)價(jià)放在哪

然后使用Ant Build選項(xiàng)運(yùn)行:

在成功執(zhí)行的提示后,我們刷新一下Project

我們?cè)赑roject區(qū)域可以看到,結(jié)果如下:

5.分布Web Service

org.gnuhpc.wsServer下建立一個(gè)類RunService:

package org.gnuhpc.wsServer;

import javax.xml.ws.Endpoint;

public class RunService {

/**

*@paramargs

*/

public static void main(String[] args) {

System.out.println("SayHello Web Service started.");

Endpoint.publish("" ,

new SayHello());

}

}

運(yùn)行Run AsJava Application。我們得到結(jié)果,說(shuō)明這個(gè)web service的Server端已經(jīng)啟動(dòng)。

6.查看WSDL:

WindowShow ViewOtherGeneralInternal Web Browser,在其中輸入:

你可以看看到底WSDL都記錄了哪些信息。看完后可以停止該Server。

7.監(jiān)測(cè)Server

我們創(chuàng)建完Server可以用過(guò)Eclipse Web Services Explorer監(jiān)測(cè)Server,

WindowOpen PerspectiveOther JavaEE

打開(kāi)Eclipse Web Services Explorer

點(diǎn)擊右上角的WSDL Page按鈕:

單擊WSDL Main,在URL中輸入: 按Go按鈕后出現(xiàn)一下視圖:

我們可以觸發(fā)一個(gè)Web Service操作:點(diǎn)擊getGreetings,添加一個(gè)參數(shù),比如gnuhpc,然后點(diǎn)擊Go按鈕:

8.創(chuàng)建Client端 工程和相關(guān)包與類:

創(chuàng)建一個(gè)Java Project,命名為wsClientHelloWorld,在這個(gè)項(xiàng)目下建立包:org.gnuhpc.wsClient

9.使用Ant產(chǎn)生Client代碼框架:

編寫Web service時(shí),可以使用工具來(lái)利用WSDL生成進(jìn)行調(diào)用的客戶端樁;或者也可以使用底層API來(lái)手動(dòng)編寫Web service。前者方便,后者靈活,現(xiàn)在我們通過(guò)前者做說(shuō)明:

新建文件build.xml

NewFilebuild.xml

project default="wsimport"

target name="wsimport"

exec executable="wsimport"

arg line="-keep -s ./src -p org.gnuhpc.wsClient

-d ./bin "/

/exec

/target

/project

注意:wsgen 支持從 Java class 創(chuàng)建 Web services,wsimport 支持從 WSDL 創(chuàng)建 Web services,分別對(duì)應(yīng)于 JAX-RPC 方式下的 Java2WSDL 和 WSDL2Java。要根據(jù)發(fā)布的WSDL進(jìn)行創(chuàng)建,這也就是為什么要先運(yùn)行RunServer的原因了。

運(yùn)行Server的RunService : Run AsJava Application

運(yùn)行該Ant腳本,產(chǎn)生Client代碼:Run AsAnt Build

運(yùn)行成功的提示如下:

生成的代碼如下:

這一步讀取WSDL并生成客戶端樁。這些樁是將為我們的代碼所用的Java類和接口。這些樁給服務(wù)器端功能提供了一個(gè)客戶端接口。例如,如果我們的服務(wù)器提供一個(gè)Maths服務(wù),該服務(wù)帶有一個(gè)叫做add的方法。我們的客戶端代碼將調(diào)用樁上的一個(gè)方法,而樁實(shí)現(xiàn)將對(duì)該方法使用參數(shù)封裝,把Java方法調(diào)用變?yōu)閃ebservice請(qǐng)求。這個(gè)請(qǐng)求將基于HTTP發(fā)送給服務(wù)器,而且將使用SOAP作為RPC協(xié)議。監(jiān)聽(tīng)服務(wù)器接收該SOAP消息,然后(十有八九)將其轉(zhuǎn)換為服務(wù)器處的一次方法調(diào)用。

如何使用wsdl 描述rest服務(wù)

1. SOAP與WSDL

SOAP(Simple Object Access Protocol)簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議,是基于HTTP的傳輸協(xié)議,用來(lái)訪問(wèn)遠(yuǎn)程服務(wù)。

區(qū)別是SOAP傳輸?shù)膬?nèi)容是SOAP數(shù)據(jù)(XML格式),HTTP傳輸?shù)氖荋TTP數(shù)據(jù)。

即,SOAP請(qǐng)求和應(yīng)答有自己的規(guī)范,也就是傳輸XML文檔,XML中定義了操作,數(shù)據(jù)等。

WSDL是對(duì)WebService請(qǐng)求格式的描述,包括方法,參數(shù)。

WSDL基于XML,與平臺(tái)語(yǔ)言無(wú)關(guān)。

WSDL可以基于SOAP,也可以基于其他傳輸協(xié)議,比如HTTP,FTP,SMTP等。

本文題目:go語(yǔ)言如何使用wsdl,go語(yǔ)言入門
轉(zhuǎn)載注明:http://aaarwkj.com/article48/hchhep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站排名外貿(mào)建站、網(wǎng)站設(shè)計(jì)網(wǎng)站維護(hù)、小程序開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
亚洲精品国产亚洲精品| 亚洲国产日韩精品av| 欧美视频在线免费观看黄片| 农村精品少妇久久久久久| 欧美日本在线区一区二| 久久亚洲一本综合久久| 国产精品国产三级专区| 久久99久久久国产精品| 久久人婷婷人人澡人人爽| 美女午夜福利一区二区| 欧美中文字幕内射合集| 国语对白自拍视频在线播放| av久久精品在线观看| 中文字幕人妻丝袜二区| 日本韩国视频一区二区| 大陆av剧情网站在线观看| 性色av人妻中文一区二区| 视频一区欧美日韩精品| 欧美高清一区二区在线播放| 老司机精品成人免费视频| 亚洲成年人黄色在线观看| 海角社区av在线播放| 福利在线午夜绝顶三级| 久久精品国语少妇对白| 激情国产白嫩美女在线观看| 日韩亚洲欧美国产另类| 中文字幕精品一区二区三区在线| 免费在线观看av日韩| 高清欧美大片免费观看| 国产福利在线观看网站| 欧美精品蜜桃激情一区久久| 亚洲国产成人91精品| 日本一区二区电影在线看| 国产熟女一区二区三区正在 | 亚洲精品日韩国产3区| 国产一区二区高清不卡| 欧美日韩欧美黄色三级| 一本久久精品午夜福利| 性感美女国产av一区二区三区| 男女性生活视频成年人观看| 精品久久激情中文字幕|