日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

通向架构师的道路(第十天)之Axis2 Web Service(一)

發(fā)布時(shí)間:2024/4/14 编程问答 86 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通向架构师的道路(第十天)之Axis2 Web Service(一) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、Axis2簡(jiǎn)介

1.1?介紹Axis2

Axis框架來(lái)自 Apache 開(kāi)放源代碼組織,它是基于Java語(yǔ)言的最新的 SOAP 規(guī)范(SOAP 1.2)和 SOAP withAttachments 規(guī)范(來(lái)自 Apache Group )的開(kāi)放源代碼實(shí)現(xiàn)。有很多流行的開(kāi)發(fā)工具都使用AXIS作為其實(shí)現(xiàn)支持Web服務(wù)的功能,例如JBuilder以及著名的Eclipse J2EE插件Lomboz。AXIS的最新版本可以從 http://ws.apache.org/axis/index.html下載。

下載下來(lái)后直接解壓即可用了。下圖是AXIS核心引擎的體系結(jié)構(gòu)圖:

整個(gè)AXIS項(xiàng)目包括以下幾個(gè)部分:

ü?? 消息流子系統(tǒng)

消息流子系統(tǒng)提供了靈活的消息傳遞框架,這個(gè)消息傳遞框架包括處理程序、鏈、序列化程序和反序列化程序。處理程序是一個(gè)處理請(qǐng)求、響應(yīng)和故障流的對(duì)象。處理程序可被組合在一起成為鏈,而且可以使用一個(gè)靈活的部署描述符來(lái)配置這些處理程序的順序。

ü?? 傳輸框架子系統(tǒng)

提供了一個(gè)傳輸框架,這個(gè)傳輸框架可以幫助您創(chuàng)建自己的可插式傳輸發(fā)送器和傳輸偵聽(tīng)器。

ü?? 數(shù)據(jù)編碼子系統(tǒng)

AXIS完全按照 XML Schema 規(guī)范提供各種數(shù)據(jù)類(lèi)型的自動(dòng)序列化,并且提供功能擴(kuò)展接口來(lái)使用您自己定制的序列化器和反序列化器。

ü?? 其他

AXIS完全支持 WSDL 以及日志記錄、出錯(cuò)以及故障處理機(jī)制。它同時(shí)提供一些工具用來(lái)講WSDL文檔轉(zhuǎn)換成客戶端的調(diào)用框架以及根據(jù)類(lèi)來(lái)產(chǎn)生WSDL定義文檔。

AXIS目前版本支持的標(biāo)準(zhǔn)是:W3C SOAP1.1 和 1.2;WSDL 1.1;SAAJ 1.1(SUN公司:SOAP with Attachments API for Java);JAX-RPC(SUN公司:Java?APIfor XML-Based RPC)1.0。

1.2?開(kāi)發(fā)項(xiàng)目中如何選擇使用Axis2和其它的WebService

2? 如果你的應(yīng)用程序需要支持多語(yǔ)言即有C++, .net, Java,你應(yīng)該選擇Axis2。

2 如果應(yīng)用程序是遵循?spring?哲學(xué)路線的話,ApacheCXF 或者Spring WS是一種更好的選擇,特別對(duì)嵌入式的 Web Services 來(lái)說(shuō)。

一、搭建環(huán)境

第一步:

打開(kāi)Eclipse,建立一個(gè)標(biāo)準(zhǔn)的Dynamic Web Project

第二步:

建完工程后,把Axis2-1.4/Axis2-1.4.1解壓開(kāi)來(lái)的目錄下的axis2-web(如下圖),整個(gè)拷入你工程的WebContent目錄下:

第三步:

把Axis2-1.4/Axis2-1.4.1解壓開(kāi)來(lái)的目錄下的lib目錄里的所有jar導(dǎo)入你工程的WEB-INF/lib目錄下,并加載入工程的classpath,如下圖

第四步:

在工程和src平級(jí)處新建一個(gè)目錄叫external-lib


第五步:

把tomcat里的用于jsp, servlet解析的兩個(gè)lib拷入此external-lib目錄,并且以“加載外部jar”的方式加入工程的classpath中去

第六步:

在工程的WEB-INF目錄下新建一個(gè)目錄叫services目錄。

第七步:

把Axis2-1.4/Axis2-1.4.1解壓開(kāi)來(lái)的目錄下的repository\modules,modules這個(gè)目錄,整個(gè)拷貝到你工程的WEB-INF目錄下。

整個(gè)配完的工程結(jié)構(gòu)應(yīng)如下圖所示:

三、??? 第一個(gè)Axis2Webservice之HelloWorld

3.1Service端代碼

package org.sky.axis2.helloworld;

import org.apache.axiom.om.OMElement;

import org.apache.axis2.AxisFault;

import javax.xml.stream.XMLStreamException;

public class HelloWorld {

???????? public OMElement sayHello(OMElement element) throws XMLStreamException {

?????????????????? element.build();

?????????????????? // Secondly the OMElement should be detached from the current OMTree so

?????????????????? // that it can be attached

?????????????????? // some other OM Tree. Once detached the OmTree will remove its

?????????????????? // connections to this OMElement.

?????????????????? element.detach();

?????????????????? return element;

???????? }

}

3.2 Service端的Web Service布署文件

然后我們?cè)诠こ痰腤ebContent\WEB-INF\services\目錄下新建一個(gè)目錄叫HelloWorld的目錄,與我們的類(lèi)同名,在此目錄下再建立一個(gè)META-INF的目錄(大小寫(xiě)必須完全一致),然后在META-INF目錄下新建一個(gè)services.xml,具體目錄結(jié)構(gòu)如下圖所示:

Services.xml文件的內(nèi)容如下:

<service name="HelloWorld">

???????? <parameter name="ServiceClass">org.sky.axis2.helloworld.HelloWorld</parameter>

??? <operation name="sayHello">

??????? <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

??????? <actionMapping>urn:sayHello</actionMapping>

??? </operation>

</service>

該布署文件很容易閱讀:

1)????? 它聲明了一個(gè)WebService的主類(lèi)叫” org.sky.axis2.helloworld.HelloWorld”;

2)????? 該WebService有一個(gè)Web Service Method,在類(lèi)中該方法名叫sayHello,它返回一個(gè)OMElement為類(lèi)型的值,接受一個(gè)OMElement為類(lèi)型的參數(shù);(RawXMLINOutMessageReceiver)

3)????? sayHello這個(gè)對(duì)外暴露的WebService方法名為: urn:sayHello

修改web.xml,在里面加入這些東東:

<servlet>
??? <display-name>Apache-Axis Servlet</display-name>
??? <servlet-name>AxisServlet</servlet-name>
??? <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
? </servlet>
? <servlet-mapping>
??? <servlet-name>AxisServlet</servlet-name>
??? <url-pattern>/servlet/AxisServlet</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>AxisServlet</servlet-name>
??? <url-pattern>*.jws</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>AxisServlet</servlet-name>
??? <url-pattern>/services/*</url-pattern>
? </servlet-mapping>
? <servlet>
??? <display-name>Apache-Axis Admin Servlet Web Admin</display-name>
??? <servlet-name>AxisAdminServlet</servlet-name>
??? <servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class>
??? <load-on-startup>100</load-on-startup>
? </servlet>
? <servlet-mapping>
??? <servlet-name>AxisAdminServlet</servlet-name>
??? <url-pattern>/axis2-admin/*</url-pattern>
? </servlet-mapping>

3.3?布署Web Service

在Tomcat的webapps目錄下建立一個(gè)目錄叫Axis2Service的目錄

然后將整個(gè)工程的WebContent目錄下的所有東西,全拷貝入這個(gè)目錄內(nèi),啟動(dòng)tomcat。

啟動(dòng)后訪問(wèn):http://localhost:8080/Axis2Service/axis2-web/

單點(diǎn):Services這個(gè)鏈接

再點(diǎn)這個(gè)HelloWorld鏈接

我們就可以得到我們的HelloWorld這個(gè)WebService的wsdl內(nèi)容了。

三、??? 四種不同的HelloWorld客戶端

Axis2支持4種類(lèi)型的客戶端:

ü?? Block(阻塞式客戶端)

傳統(tǒng)客戶端

ü?? Non block(非阻塞式客戶端)

又被稱(chēng)為異步客戶端,傳統(tǒng)客戶端被調(diào)用后將會(huì)被阻塞直到操作完成。這種方式在有很多Web Service需要在一個(gè)單一的客戶端應(yīng)用程序中啟動(dòng)時(shí)很不可取。一種解決方法是使用Non-Blocking API來(lái)調(diào)用這些Web Services。Axis2提供給用戶一種基于回叫機(jī)制的non-blocking API。

ü?? 雙工(雙向傳輸)

以上的機(jī)制都使用單一的連接去發(fā)送請(qǐng)求和接收響應(yīng).這都明顯在性能上落后于使用兩條連接(單向或雙向)進(jìn)行進(jìn)行請(qǐng)求和響應(yīng)的傳輸 . 因此以上的機(jī)制都不能解決長(zhǎng)時(shí)間運(yùn)行的交易, 連接將在操作還沒(méi)完成就會(huì)超時(shí). 一種解決方案是使用分開(kāi)的兩條傳輸連接來(lái)傳輸請(qǐng)求和響應(yīng) . 我們叫這種方案為傳輸層異步。

ü?? 雙工非阻塞(雙向且非阻塞傳輸)

下面我們就來(lái)看這四個(gè)客戶端(此處對(duì)于雙工傳輸?shù)目蛻舳舜a進(jìn)行忽略,因?yàn)檫@個(gè)寫(xiě)法很簡(jiǎn)單,我們將著重于描述雙工+非阻塞的客戶端例子,網(wǎng)上目前幾乎沒(méi)有能夠在axis21.4下真正能夠運(yùn)行的“雙工且非阻塞”的例子或者是完整代碼)。

4.1?傳統(tǒng)的客戶端HelloWorldWithReturnClient.java

package org.sky.axis2.helloworld;

import java.util.Iterator;

import javax.xml.namespace.QName;

import org.apache.axiom.om.OMAbstractFactory;

import org.apache.axiom.om.OMElement;

import org.apache.axiom.om.OMFactory;

import org.apache.axiom.om.OMNamespace;

import org.apache.axiom.om.OMNode;

import org.apache.axiom.soap.SOAPBody;

import org.apache.axis2.AxisFault;

import org.apache.axis2.addressing.EndpointReference;

import org.apache.axis2.client.Options;

import org.apache.axis2.client.ServiceClient;

import org.apache.axis2.databinding.utils.BeanUtil;

import org.apache.axis2.engine.DefaultObjectSupplier;

public class HelloWorldWithReturnClient {

???????? private static?EndpointReference targetEPR = new EndpointReference(

??????????????????????????? "http://localhost:8080/Axis2Service/services/HelloWorld");

???????? public void sayHello() {

?????????????????? Options options = new Options();

???????????????????options.setAction("urn:sayHello");

?????????????????? options.setTo(targetEPR);

?????????????????? ServiceClient sender = null;

?????????????????? try {

??????????????????????????? sender = new ServiceClient();

??????????????????????????? sender.setOptions(options);

??????????????????????????? OMFactory fac = OMAbstractFactory.getOMFactory();

????????????????????????????OMNamespace omNs = fac

?????????????????????????????????????????????? .createOMNamespace("http://helloworld.axis2.sky.org", "");

????????????????????????????OMElement method = fac.createOMElement("sayHello", omNs);

??????????????????????????? OMElement name = fac.createOMElement("name", omNs);

??????????????????????????? name.setText("ymk");

??????????????????????????? method.addChild(name);

????????????????????????????method.build();

??????????????????????????? OMElement response = sender.sendReceive(method);

??????????????????????????? System.out.println(response);

????????????????????????????OMElement element = response.getFirstChildWithName(

?????????????????????????????????????????????? new QName("http://helloworld.axis2.sky.org", "name"));

??????????????????????????? System.out.println(element.getText());

?????????????????? } catch (AxisFault e) {

??????????????????????????? System.out.println("------Error Occured------");

??????????????????????????? e.printStackTrace();

?????????????????? }

???????? }

???????? public static void main(String[] args) {

?????????????????? HelloWorldWithReturnClient testClient = new HelloWorldWithReturnClient();

?????????????????? testClient.sayHello();

???????? }

}

注意我加粗或者是加粗標(biāo)紅處的代碼,為核心代碼。

由于我們使用提Axis2的底層API來(lái)調(diào)用WebService而并不是像傻瓜式的通過(guò)一個(gè)wsdl生成Web Service調(diào)用句柄,所以我們要對(duì)一個(gè)WSDL能夠有閱讀能力。

ü???Axis2中的Webservice的入口

不是:?http://localhost:8080/Axis2Service/services/HelloWorld?wsdl這個(gè)哦,而應(yīng)該是:

http://localhost:8080/Axis2Service/services/HelloWorld,不帶?wsdl。

ü???看一個(gè)wsdl中的namespace是什么:

ü???看一個(gè)wsdl中的web service方法名是什么


ü???看一個(gè)wsdl的返回結(jié)果是怎么樣的格式:

為此我們?cè)诔绦蚶镌黾恿艘恍?#xff1a;OMElement response =sender.sendReceive(method);

然后直接:System.out.println(response);

這樣,我們可以看到它的返回為:

根據(jù)Axis2的OMElement的解析語(yǔ)法我們就可以直接把這個(gè)返回的值get出來(lái)。

我們甚至可以用opensource的SOAP UI這個(gè)工具,來(lái)直接得到我們的webservice調(diào)用的返回值,并以此返回結(jié)果的格式來(lái)決定我們?nèi)绾稳ソ馕鲞@個(gè)OMElement格式的返回結(jié)果:

在工程上單擊右鍵選“AddWSDL”


在彈出對(duì)話框中直接把http://localhost:8080/Axis2Service/services/HelloWorld?wsdl加入對(duì)方框中的wsdl欄中


點(diǎn)OK生成webservice soap ui調(diào)用的客戶端如下圖

它會(huì)生成11Binding和12Binding兩個(gè)客戶端,我們把11Binding的節(jié)點(diǎn)展開(kāi),雙擊Request 1,在右邊會(huì)顯示調(diào)用的soap樣例,在<hel:sayHello>?</hel:sayHello>塊中我們把問(wèn)號(hào)替換成Monica,然后點(diǎn)上方“綠色”運(yùn)行按鈕,我們就可以得到調(diào)用結(jié)果如下圖:

因此通過(guò)SOAP UI我們也可以測(cè)試我們的Web Service。

4.2?非阻塞式HelloWorldWithReturnNonBlock.java

與傳統(tǒng)的阻塞式webservice調(diào)用不同的是,一旦調(diào)用"serviceClient.sendReceive(payload);",客戶端將會(huì)被阻塞直到操作完成。這種方式在有很多Web Service需要在一個(gè)單一的客戶端應(yīng)用程序中啟動(dòng)時(shí)很不可取。一種解決方法是使用Non-Blocking API來(lái)調(diào)用這些Web Services。Axis2提供給用戶一種基于回叫機(jī)制的non-blocking API。

很多網(wǎng)上使用的“回調(diào)”接口都只能在Axis21.3中才能使用,而在Axis21.4中回調(diào)接口已經(jīng)被升級(jí)成一個(gè)抽象類(lèi)叫AxisCallBack類(lèi)了,因此90%目前網(wǎng)上的關(guān)于“非阻塞式”的客戶端的代碼在Axis2中都是跑不起來(lái)的,在eclipse ide中會(huì)顯示“該類(lèi)/方法已經(jīng)被deprecated(廢棄)”。

因此請(qǐng)注意看筆者的代碼,先聲明一個(gè)用于非阻塞調(diào)用的回調(diào)(callback)類(lèi)

HelloWorldNonBlockCB.java

package org.sky.axis2.helloworld;

import java.util.Iterator;

import javax.xml.namespace.QName;

import org.apache.axiom.om.OMElement;

import org.apache.axiom.om.OMNode;

import org.apache.axis2.client.async.AxisCallback;

import org.apache.axis2.context.MessageContext;

import org.apache.axis2.databinding.utils.BeanUtil;

import org.apache.axis2.engine.DefaultObjectSupplier;

public class HelloWorldNonBlockCB implements AxisCallback {

???????? private boolean complete = false;

???????? public void onMessage(MessageContext msgContext) {

?????????????????? System.out.println(msgContext.getEnvelope().getBody());

?????????????????? OMElement element = msgContext.getEnvelope().getBody()

???????????????????????????????????? .getFirstElement();

?????????????????? OMElement result = element.getFirstChildWithName(new QName(

???????????????????????????????????? "http://helloworld.axis2.sky.org", "name"));

?????????????????? System.out.println(result.getText());

?????????????????? synchronized (this) {

??????????????????????????? this.notify();

?????????????????? }

???????? }

???????? public boolean isComplete() {

?????????????????? return complete;

???????? }

???????? public void onFault(MessageContext msgContext) {

?????????????????? System.out.println(msgContext.getEnvelope().getBody().getFault()

???????????????????????????????????? .toString());

?????????????????? synchronized (this) {

??????????????????????????? this.notify();

?????????????????? }

???????? }

???????? public void onError(Exception e) {

?????????????????? e.printStackTrace();

?????????????????? synchronized (this) {

??????????????????????????? this.notify();

?????????????????? }

???????? }

???????? public void onComplete() {

?????????????????? this.complete = true;

?????????????????? synchronized (this) {

??????????????????????????? this.notify();

?????????????????? }

???????? }

}

有了callback接口,我們來(lái)寫(xiě)我們的webservice調(diào)用類(lèi)

HelloWorldWithReturnNonBlock.java

package org.sky.axis2.helloworld;

import org.apache.axis2.addressing.EndpointReference;

import org.apache.axiom.om.OMAbstractFactory;

import org.apache.axiom.om.OMElement;

import org.apache.axiom.om.OMFactory;

import org.apache.axiom.om.OMNamespace;

import org.apache.axis2.AxisFault;

import org.apache.axis2.addressing.EndpointReference;

import org.apache.axis2.client.Options;

import org.apache.axis2.client.ServiceClient;

import org.apache.axis2.client.async.AxisCallback;

import org.apache.axis2.context.MessageContext;

public class HelloWorldWithReturnNonBlock {

???????? private static EndpointReference targetEPR = new EndpointReference(

??????????????????????????? "http://localhost:8080/Axis2Service/services/HelloWorld");

???????? public void sayHello() {

?????????????????? OMFactory fac = OMAbstractFactory.getOMFactory();

?????????????????? OMNamespace omNs = fac.createOMNamespace(

???????????????????????????????????? "http://helloworld.axis2.sky.org", "");

?????????????????? OMElement method = fac.createOMElement("sayHello", omNs);

?????????????????? OMElement name = fac.createOMElement("name", omNs);

?????????????????? name.setText("ymk");

?????????????????? method.addChild(name);

?????????????????? method.build();

?????????????????? Options options = new Options();

?????????????????? options.setTo(targetEPR);

?????????????????? ServiceClient sender = null;

?????????????????? try {

????????????????????????????HelloWorldNonBlockCB callback = new HelloWorldNonBlockCB();

????????????????????????????sender = new ServiceClient();

????????????????????????????sender.setOptions(options);

????????????????????????????sender.sendReceiveNonBlocking(method, callback);

????????????????????????????synchronized (callback) {

?????????????????????????????????????try {

??????????????????????????????????????????????callback.wait();

?????????????????????????????????????} catch (InterruptedException e) {

??????????????????????????????????????????????e.printStackTrace();

?????????????????????????????????????}

????????????????????????????}

?????????????????? } catch (AxisFault e) {

??????????????????????????? e.printStackTrace();

?????????????????? } finally {

??????????????????????????? if (sender != null)

???????????????????????????????????? try {

?????????????????????????????????????????????? sender.cleanup();

???????????????????????????????????? } catch (Exception e) {

???????????????????????????????????? }

?????????????????? }

???????? }

???????? public static void main(String[] args) {

?????????????????? HelloWorldWithReturnNonBlock testClient = new HelloWorldWithReturnNonBlock();

?????????????????? testClient.sayHello();

???????? }

}

注意加粗標(biāo)紅處的代碼。

4.3?非阻塞式雙工HelloWorldWithReturnDualNonBlock.java

非阻塞式的Web Service客戶端代碼很簡(jiǎn)單,在此不做任何擅述,我們就說(shuō)終極的非阻塞式雙工模式的Web Service客戶端使用Axis2的API如何實(shí)現(xiàn)。

記住以下幾個(gè)口決:

ü?? options.setUseSeparateListener(true);

非阻塞式雙工模式,會(huì)在客戶端也打開(kāi)一個(gè)監(jiān)聽(tīng)器,而且一直不斷的監(jiān)聽(tīng)著服務(wù)器的返回值,該進(jìn)程一旦被吊用,會(huì)一直被掛在客戶端這邊。

ü?? 設(shè)置webservice客戶端模式為雙工全開(kāi)

options.setTransportInProtocol(Constants.TRANSPORT_HTTP);

ü?? 先尋址,后engageModule

在雙工模式下Web Service的客戶端需要尋址,即engageModule,這個(gè)engageModule需要這樣的一個(gè)參數(shù):

engageModule(“addressing”)

或者也可寫(xiě)成:

engageModule(Constants.MODULE_ADDRESSING);
這個(gè)engageModule就是需要訪問(wèn)你的工程的WEB-INF\modules\目錄下的一個(gè)叫addressing-1.4.mar的文件。

因此在調(diào)用engageModule語(yǔ)句之間有兩種方式來(lái)調(diào)用你的WEB-INF\modules目錄下的addressing-1.4.mar文件。

第一種方式:

ConfigurationContext sysContext = ConfigurationContextFactory

?????????????????????????????????????? .createConfigurationContextFromFileSystem(

???????????????????????????????????????????????????????? "D:\\wspace\\Axis2Service\\WebContent\\WEB-INF",

???????????????????????????????????????????????????????? null);

????????????????????sender = new ServiceClient(sysContext, null);

??????????????????????????? sender.engageModule(Constants.MODULE_ADDRESSING);

第二種方式:

sender = new ServiceClient(sysContext, null);

???????? sender.engageModule(Constants.MODULE_ADDRESSING);

在第二種方式中,不需要為new ServiceClient()指定第一個(gè)sysContext參數(shù),但是,你必須把WEB-INF\modules\addressing-1.4.mar指定到你的工程的classpath中去,如下圖

要不然運(yùn)行時(shí)會(huì)拋出下面這個(gè)exception:

org.apache.axis2.AxisFault:Unable to engage module : addressing

下面來(lái)看代碼,此處的callback我們延用4.2小節(jié)中建立的callback接口即可,此處不再重復(fù),直接給出客戶端代碼:

package org.sky.axis2.helloworld;

import org.apache.axiom.om.OMAbstractFactory;

import org.apache.axiom.om.OMElement;

import org.apache.axiom.om.OMFactory;

import org.apache.axiom.om.OMNamespace;

import org.apache.axis2.AxisFault;

import org.apache.axis2.Constants;

import org.apache.axis2.addressing.EndpointReference;

import org.apache.axis2.client.Options;

import org.apache.axis2.client.ServiceClient;

import org.apache.axis2.context.ConfigurationContext;

import org.apache.axis2.context.ConfigurationContextFactory;

public class HelloWorldWithReturnDualNonBlock {

private static EndpointReference targetEPR = new EndpointReference(

??????????????????? "http://localhost:8080/Axis2Service/services/HelloWorld");

public static boolean finish = false;

public void sayHello() {

?????????? OMFactory fac = OMAbstractFactory.getOMFactory();

?????????? OMNamespace omNs = fac.createOMNamespace(

???????????????????????????? "http://helloworld.axis2.sky.org", "");

?????????? OMElement method = fac.createOMElement("sayHello", omNs);

?????????? OMElement name = fac.createOMElement("name", omNs);

?????????? name.setText("ymk");

?????????? method.addChild(name);

?????????? method.build();

?????????? Options options = new Options();

?????????? options.setTo(targetEPR);

???????????options.setTransportInProtocol(Constants.TRANSPORT_HTTP);

???????????options.setUseSeparateListener(true);

?????????? options.setAction("urn:sayHello");

?????????? ServiceClient sender = null;

?????????? HelloWorldNonBlockCB callback = new HelloWorldNonBlockCB();

?????????? try {

??????????????????? sender = new ServiceClient();

????????????????????sender.engageModule(Constants.MODULE_ADDRESSING);

????????????????????sender.setOptions(options);

????????????????????sender.sendReceiveNonBlocking(method, callback);

????????????????????synchronized (callback) {

?????????????????????????????try {

???????????????????????????????????????callback.wait();

?????????????????????????????} catch (InterruptedException e) {

???????????????????????????????????????e.printStackTrace();

?????????????????????????????}

????????????????????}

?????????? } catch (Exception e) {

??????????????????? e.printStackTrace();

?????????? } finally {

??????????????????? try {

???????????????????????????? sender.cleanup();

??????????????????? } catch (Exception e) {

??????????????????? }

?????????? }

}

public static void main(String[] args) {

?????????? HelloWorldWithReturnDualNonBlock testClient = new HelloWorldWithReturnDualNonBlock();

?????????? testClient.sayHello();

}

}

4.4 運(yùn)行雙工異步客戶端前的準(zhǔn)備工作

將Axis2的安裝目錄下的conf目錄下(如我的是:D:\opensource\axis\axis2-1.4.1-bin\axis2-1.4.1\conf)的axis2.xml拷貝到你的工程的WEB-INF目錄下。

并確保這個(gè)axis2.xml里有如下語(yǔ)句:

<moduleref="addressing"/>


運(yùn)行后顯示:

Axis2的雙工非阻塞式客戶端調(diào)用成功!完成Axis2編寫(xiě)Web Service的第一天教程。

總結(jié)

以上是生活随笔為你收集整理的通向架构师的道路(第十天)之Axis2 Web Service(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

最近高清中文字幕在线国语5 | 最近中文字幕久久 | 国产一区二区综合 | 中文字幕欧美日韩va免费视频 | 午夜影院一级 | 久久婷婷一区 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 97碰碰精品嫩模在线播放 | 瑞典xxxx性hd极品 | 成人av在线网址 | 欧美精彩视频在线观看 | 国产精品手机在线观看 | 亚洲黄色免费观看 | 久久新视频 | av在线观 | 国产精品久久麻豆 | av永久网址 | 国产理论一区二区三区 | 91九色在线视频观看 | 国产精品九九久久99视频 | 97中文字幕 | 精品亚洲免费视频 | 久久伊人操 | 五月天开心 | 欧美日韩破处 | 国产精品久久久久久吹潮天美传媒 | 97在线精品国自产拍中文 | 国产福利一区二区三区在线观看 | 日韩在线观看一区二区 | 免费黄在线看 | 91激情视频在线 | 亚洲天堂网在线视频观看 | 亚洲国产资源 | 日韩电影在线观看一区二区三区 | 亚洲综合成人av | 波多野结衣最新 | 在线观看中文字幕亚洲 | 日本成人中文字幕在线观看 | 亚洲精品国产精品久久99热 | 国产一级久久久 | 天天射天天色天天干 | 视频一区二区在线 | 国产黄色成人 | 亚洲精品在线视频网站 | 99热精品视| 久久99精品久久久久久清纯直播 | 成人四虎影院 | 日韩免费区| 国产一级片免费观看 | 麻豆视频免费播放 | 亚洲精品66 | 国产精品国产三级国产不产一地 | 99久久婷婷国产精品综合 | 国产在线中文 | 91亚·色| 国产一区视频在线播放 | 九色精品在线 | 国产玖玖视频 | 91系列在线 | 亚洲黄色影院 | 四虎成人av| 国产一二三精品 | 久久人人97超碰国产公开结果 | 夜夜夜| 国产精品视频不卡 | 久久精品国产美女 | 久久精品成人欧美大片古装 | 国语黄色片 | 国产精品一区专区欧美日韩 | 免费国产ww | 91精品免费在线观看 | 国产精彩视频一区二区 | 人人爱人人舔 | 国产精品免费观看久久 | 337p西西人体大胆瓣开下部 | 在线观看亚洲电影 | 国产精品69久久久久 | 亚洲永久精品在线观看 | 亚洲欧洲精品一区二区精品久久久 | 国产精品视频免费看 | 国产123av | 天天天在线综合网 | 亚洲理论在线 | 久草久草久草久草 | 美女视频久久 | 亚洲欧美日韩国产一区二区 | 少妇性bbb搡bbb爽爽爽欧美 | 色狠狠一区二区 | 久久黄页| 色99之美女主播在线视频 | 日韩videos高潮hd | 久久深夜| 天天操天天摸天天爽 | 亚洲电影网站 | 热久久在线视频 | 成人av网址大全 | 日韩av女优视频 | 久久精品永久免费 | 91在线视频 | 99精品免费在线观看 | 久久精品亚洲一区二区三区观看模式 | 五月婷婷开心 | 免费看黄的 | 精精国产xxxx视频在线播放 | 91亚洲精| 五月天网页 | www欧美日韩| 精品久久一区 | 国产成人久久精品一区二区三区 | 中文字幕激情 | 亚洲国产精品日韩 | 四虎成人精品永久免费av | 中文字幕免费高清av | 欧美人牲| 综合五月婷婷 | 国产美女免费观看 | 视频 天天草| 在线免费观看欧美日韩 | 欧美人牲| www久久99| 97国产大学生情侣白嫩酒店 | 国内精品毛片 | 免费视频你懂得 | 五月婷婷一级片 | 婷婷五综合 | 亚洲国产成人精品在线观看 | 91精品一区二区三区蜜桃 | 成人免费xxxxxx视频 | 中文字幕精品在线 | 综合铜03| 精品国产一区二区三区在线观看 | 亚洲影视资源 | 在线观看视频精品 | 色综合久久久久综合体 | 丁香婷婷久久 | 国产美女搞久久 | 久久精品99国产精品亚洲最刺激 | 天天干天天做天天操 | 日韩精品三区四区 | 视频91在线| 色五丁香| 精品久久久久久久久久国产 | 日本在线观看一区二区三区 | 欧美日韩国产亚洲乱码字幕 | 美女久久视频 | 国产精品成人品 | 福利网在线 | 最近中文字幕视频网 | 久久久久久久久久网 | 亚洲人成影院在线 | 一区二区中文字幕在线播放 | 亚洲久草视频 | 免费视频97 | 亚洲香蕉在线观看 | 91看成人 | 91精品国产综合久久久久久久 | a天堂最新版中文在线地址 久久99久久精品国产 | 激情婷婷av | 免费精品国产va自在自线 | 日韩精品91偷拍在线观看 | 久久久久久久国产精品视频 | 日本 在线 视频 中文 有码 | 久久视频网址 | 99精品欧美一区二区 | 久久九九国产视频 | 一区二区不卡高清 | 在线只有精品 | 91精品久久香蕉国产线看观看 | 精品国产乱码久久久久久浪潮 | 欧美日韩在线观看一区二区 | 这里只有精品视频在线 | 香蕉视频最新网址 | 黄色亚洲 | 国产成人免费 | 日操操| 少妇bbb搡bbbb搡bbbb | 涩涩网站在线看 | 91精品视频一区 | 丁香婷婷综合五月 | 精品a视频 | 精选久久| www.天天草 | 欧美一二在线 | 亚洲精品麻豆视频 | 国产又粗又猛又黄又爽的视频 | 天天草综合 | 91亚洲激情 | 黄色录像av | 亚洲欧美在线视频免费 | 日韩视频一区二区三区 | 亚洲欧美日韩精品久久奇米一区 | 中文字幕在线看视频国产 | 国产精品免费不卡 | 91经典在线 | 日本特黄特色aaa大片免费 | 最新中文字幕在线资源 | 亚洲伊人色 | 久久国产a | 亚洲婷婷伊人 | 成人黄色av免费在线观看 | 五月亚洲 | 91看片黄色 | 蜜臀久久99精品久久久无需会员 | 久草在线视频在线观看 | 97成人资源 | 波多野结衣在线播放一区 | 波多野结衣在线播放一区 | 久久精品国产99国产 | 黄色av观看 | 狠狠狠综合 | 欧美视频xxx| 日韩一级电影网站 | 国产精品久久电影网 | 日韩一级电影在线观看 | 91亚洲精品久久久蜜桃网站 | 大荫蒂欧美视频另类xxxx | 伊人亚洲精品 | 欧美9999| 高清在线观看av | 国产在线观看av | 在线播放日韩av | av丝袜制服 | 国内精品久久久久久久久久久 | 日本中文字幕高清 | 四虎在线免费观看 | 激情久久一区二区三区 | 国产综合香蕉五月婷在线 | 97碰碰精品嫩模在线播放 | 亚洲精品国产精品国 | 欧美一级片在线免费观看 | 99热这里只有精品免费 | 美女视频黄免费 | 日韩欧美成人网 | 免费视频 三区 | 午夜性生活 | 手机看片1042 | 国产精品久久久久久久7电影 | 一级片视频在线 | 超碰国产在线 | 色九九在线 | 丰满少妇久久久 | avsex| 狠狠干干 | 国产精品精品久久久久久 | 欧美国产一区在线 | 91在线一区二区 | 日日日干 | aaawww | 亚洲午夜久久久影院 | 国产美女在线精品免费观看 | 国产探花 | 亚洲一区精品人人爽人人躁 | 97免费 | 高清中文字幕 | 91伊人影院 | 日本特黄一级片 | 丁香色婷| 992tv人人网tv亚洲精品 | 玖玖爱免费视频 | 日韩中文字幕在线 | 精品国产一区二区三区av性色 | 最近日本字幕mv免费观看在线 | 麻豆视频免费在线播放 | 国产精品久久一区二区无卡 | av大片免费在线观看 | 美女激情影院 | 日韩一级电影在线 | 日本中文字幕在线免费观看 | 91成人精品一区在线播放69 | jizz欧美性9| 亚洲天天在线日亚洲洲精 | 黄色大片免费播放 | 美女黄视频免费 | 亚洲毛片一区二区三区 | 国产69久久精品成人看 | 日韩免费一区二区在线观看 | 久久久免费精品 | 99久e精品热线免费 99国产精品久久久久久久久久 | 国产69精品久久久久久久久久 | 黄污在线看 | 三级性生活视频 | 日韩在线精品视频 | 人人超碰免费 | 欧美视频www | av电影av在线 | 国产高清免费观看 | 欧美日韩一区二区视频在线观看 | 国产涩图 | 西西444www大胆高清视频 | 天天色天天干天天色 | 亚洲一区二区三区毛片 | 在线免费视频一区 | 一区二区三区久久精品 | 天天看天天干天天操 | 97成人资源站| 国产美女网站在线观看 | 精品国产a | 久久精品视频网址 | 麻豆国产网站 | 欧美资源在线观看 | 国产午夜在线 | 天天色成人 | 亚州黄色一级 | 亚洲高清不卡av | 亚洲精品tv久久久久久久久久 | 国产精品视频不卡 | 国产精品成人国产乱一区 | 亚洲少妇激情 | 国产在线精品二区 | 国产传媒一区在线 | 狠狠干狠狠久久 | 久久久精品国产一区二区 | 99久免费精品视频在线观看 | 精品视频免费播放 | 欧美日韩不卡一区二区三区 | 亚洲最新视频在线 | 在线观看一级 | 狠狠狠综合 | 国内精品久久久久国产 | 国产精品系列在线 | 日韩高清一区二区 | 91精彩视频在线观看 | 国产二区精品 | 99视频在线看| www.日韩免费 | 97偷拍视频 | 天天操天天拍 | 美女视频久久 | 91精品久久久久久久久久入口 | 久久不卡电影 | 国产在线免费观看 | 欧美做受高潮1 | 99性视频 | 亚洲人成人天堂h久久 | 中文字幕资源在线观看 | 婷婷色综合 | 久草在线免费电影 | 亚洲国产精品第一区二区 | 97夜夜澡人人爽人人免费 | 久久久久久不卡 | 人人看人人草 | 国产一区二区在线免费视频 | 亚洲国产欧美一区二区三区丁香婷 | 日韩在线一二三区 | www最近高清中文国语在线观看 | 国产特级毛片aaaaaa毛片 | 色婷婷 亚洲 | 欧美一区二视频在线免费观看 | 狠狠久久| 亚洲精品一区二区三区在线观看 | 久草电影在线 | 久久久精品 | 日韩综合第一页 | 国产精品va在线观看入 | 国产中文在线播放 | 97超碰资源 | 国产精品福利视频 | 久久老司机精品视频 | 九九欧美| 午夜精品一区二区国产 | 九九久久免费视频 | 国产.精品.日韩.另类.中文.在线.播放 | 色婷婷成人网 | 91大神一区二区三区 | 亚洲成人av影片 | 国色天香av| 中文在线字幕免费观看 | 在线电影日韩 | 国产 av 日韩 | 欧美一区二区三区特黄 | 在线观看一二三区 | 日韩免费三级 | 亚洲国产成人久久综合 | 久久69av | 亚洲女同videos | 玖玖在线观看视频 | 热久久视久久精品18亚洲精品 | 毛片美女网站 | 一区二精品 | 黄色国产精品 | 午夜av在线免费 | 一区二区三区国产欧美 | 久久精品官网 | 91九色国产视频 | 狠狠躁天天躁综合网 | 贫乳av女优大全 | 2019中文字幕第一页 | 欧美日韩中字 | av字幕在线 | 狠狠色狠狠综合久久 | 九月婷婷人人澡人人添人人爽 | 在线中文字幕视频 | 国产精品麻| 亚洲精品mv在线观看 | 免费电影播放 | 国产高清视频在线播放一区 | 午夜手机电影 | 日日夜夜狠狠操 | a在线v| 国产精品毛片一区视频播不卡 | 麻豆视频网址 | 看片一区二区三区 | 免费看国产曰批40分钟 | 日本中文在线 | 国产精品一区二区吃奶在线观看 | 91av在线国产| 亚洲日本一区二区在线 | 久久精品亚洲 | 国产精品久久久久一区二区 | 国产精品大尺度 | 免费试看一区 | 亚洲人成在线观看 | 一区二区精品在线视频 | 激情欧美丁香 | 国产精品久久一 | 97国产视频 | 四虎国产 | 婷婷黄色片 | 91精品国自产拍天天拍 | 日日操天天操夜夜操 | 日韩一区二区三区免费视频 | 国产精品自在欧美一区 | 丁香视频在线观看 | 99精品久久精品一区二区 | 国产精品一区二区三区电影 | 国产精品一区二区久久国产 | 久久美女电影 | 国产女人40精品一区毛片视频 | 六月天综合网 | 午夜影视av| 日韩中文字幕第一页 | 93久久精品日日躁夜夜躁欧美 | 国产精品黄| 成人全视频免费观看在线看 | 国产精品久久久久久久久久久免费看 | 99热国产在线观看 | av中文字幕在线观看网站 | 一区二区久久 | 天天色天天操天天爽 | 成人影视免费 | 国产最新在线观看 | 欧美激情片在线观看 | 四虎影视成人 | 日韩精品在线视频免费观看 | 91久久精品一区二区二区 | 夜添久久精品亚洲国产精品 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 成年人天堂com | 欧美日韩一区久久 | 97超级碰碰 | v片在线播放 | 国产九九在线 | 粉嫩一区二区三区粉嫩91 | 中文字幕av在线播放 | 色噜噜狠狠狠狠色综合 | 免费观看一区 | 欧美视频二区 | 五月激情久久久 | 婷婷在线免费观看 | 中文字幕一区二区三区久久蜜桃 | 天堂在线成人 | 久久久久免费 | 国产免费作爱视频 | 日韩精品免费在线视频 | 亚洲高清视频一区二区三区 | 特级毛片在线观看 | 91九色免费视频 | 国产精品久久久久aaaa | 精品国产午夜 | 小草av在线播放 | 麻豆久久一区 | 国产精品久久久久久吹潮天美传媒 | 国产日韩欧美精品在线观看 | 日韩电影在线看 | 欧美大片大全 | 蜜臀久久99精品久久久无需会员 | 国产黄色资源 | 亚州激情视频 | 日本护士三级少妇三级999 | 中文字幕在线播放第一页 | 国产色久 | 免费91麻豆精品国产自产在线观看 | 色综合咪咪久久网 | 91人人爽久久涩噜噜噜 | 日本一区二区高清不卡 | 欧美一级片在线免费观看 | 99精品视频精品精品视频 | 日韩在线视频国产 | 精品福利在线观看 | 中文字幕高清免费日韩视频在线 | 国色天香在线 | 精品视频在线观看 | 成人av资源 | 国产一区二区视频在线 | av大全在线播放 | 国产高清在线看 | 免费色网站| 欧美日韩免费观看一区=区三区 | 91在线播放国产 | 国产成人精品综合 | 96精品视频| 日日摸日日添夜夜爽97 | 超碰97免费观看 | 黄色一级在线免费观看 | 国内精品久久久久影院一蜜桃 | 手机在线免费av | 在线看v片成人 | 最近中文字幕大全中文字幕免费 | 久久免费片 | 亚洲另类久久 | 四虎影视成人永久免费观看视频 | 日韩理论在线视频 | 亚洲精品456在线播放 | 91亚洲精品乱码久久久久久蜜桃 | 欧美极品少妇xbxb性爽爽视频 | 97天堂| 国内精品久久久久久久久 | 日本性久久 | 精品在线观 | 狠狠操.com | 午夜体验区 | 天天草视频| 色五月成人 | 人人爽人人爽人人片 | 中文字幕第一页在线视频 | 在线免费观看欧美日韩 | 国产精品美女免费 | 国产99自拍| 夜夜骑天天操 | 亚洲精品影视在线观看 | 爱射综合 | 97国产精品免费 | 99久久久国产精品免费99 | 玖草影院| 五月婷婷视频在线观看 | 国产在线不卡精品 | 日韩欧美99 | 亚洲国产日韩精品 | 精品视频资源站 | 久久综合免费视频 | www.五月婷婷 | 在线观看免费av网站 | 青青射 | 久久精品国产一区二区 | 欧美激情第十页 | 韩国av免费在线观看 | 免费av视屏 | 黄色大片国产 | 91亚洲综合| 日韩欧美电影网 | 狠狠干婷婷色 | 亚洲精品成人在线 | 91精品影视| 国产精品免费大片视频 | 九九综合在线 | 国内精品久久久久久久影视麻豆 | 能在线看的av | 精品亚洲午夜久久久久91 | 日韩欧美综合 | 日本在线观看黄色 | 在线视频 亚洲 | 国产小视频福利在线 | 亚洲精品一区二区18漫画 | 色资源网在线观看 | 在线播放国产一区二区三区 | 国内精品视频在线播放 | 色噜噜日韩精品欧美一区二区 | 808电影| 日本成人中文字幕在线观看 | 色婷婷国产精品 | 日韩激情av在线 | 美女视频黄免费 | 国产在线黄 | 又紧又大又爽精品一区二区 | 亚洲理论在线 | 国产精品11 | 欧美乱淫视频 | 精品久久久久免费极品大片 | 中国一级片视频 | 久久久久这里只有精品 | 干天天 | 在线免费色视频 | 97超碰人人澡人人爱学生 | 亚洲一区二区天堂 | 国产xxxx做受性欧美88 | 日韩网站视频 | 久久久久久久久久网站 | 精品国产一区二区三区久久久蜜月 | 九九九九九精品 | 国产成人av在线影院 | 超碰人人乐| 国产视频资源 | 中午字幕在线观看 | 婷婷综合国产 | 亚洲在线视频免费 | 久久精品国产99国产 | 91精品视频在线 | av免费观看高清 | 免费在线观看av的网站 | 精品一区二区三区四区在线 | 在线а√天堂中文官网 | 五月天婷婷在线观看视频 | 久久久久久久久影院 | sesese图片| 国产精品第7页 | 中文字幕乱在线伦视频中文字幕乱码在线 | 一区二区三区四区五区六区 | 日韩欧美电影在线 | 欧美激情亚洲综合 | 九九在线视频免费观看 | 亚洲精品动漫成人3d无尽在线 | 狠狠色综合欧美激情 | 五月天综合色激情 | 亚洲欧洲在线视频 | 久爱综合 | 久久大片网站 | 午夜精品久久久久久 | 日韩久久久久 | 久久久免费高清视频 | 午夜影视一区 | 久久在线免费 | 亚洲欧美激情精品一区二区 | 精品视频9999| 国产一二三区在线观看 | 久久久久久久久久伊人 | 国产精品久久久久永久免费观看 | 天天射综合网视频 | 黄色国产高清 | 日韩电影在线观看一区二区 | 久久国产精品视频观看 | 国产成人精品一区二区三区福利 | 五月天婷亚洲天综合网精品偷 | www.夜夜操 | 欧洲性视频| 久久久久久国产精品久久 | 国产91小视频 | 久操视频在线播放 | 亚洲综合在 | 五月天丁香 | 又黄又刺激的视频 | 久久婷婷影视 | 久久国产精品久久久 | 中文字幕一区二区三区四区视频 | 亚洲无吗天堂 | 日韩精品中文字幕在线不卡尤物 | 88av视频 | 国产在线观看a | 丝袜网站在线观看 | 欧美精品久久久久久久久久 | 8090yy亚洲精品久久 | 中文字幕亚洲情99在线 | 高清有码中文字幕 | 久久国产精品一区二区三区四区 | 韩国av永久免费 | 日本韩国精品一区二区在线观看 | 又爽又黄又刺激的视频 | 丁香久久婷婷 | 操久久免费视频 | 在线中文字母电影观看 | 色小说av | 日韩区欧美久久久无人区 | 天天色天天爱天天射综合 | 91欧美视频网站 | 久久蜜臀av | 三级av黄色| 午夜123| x99av成人免费 | 国内精品久久久久影院男同志 | 中文字幕乱偷在线 | 精品一区二区久久久久久久网站 | 美腿丝袜一区二区三区 | 最新国产视频 | 久久激情片 | 中文字幕韩在线第一页 | 人人舔人人插 | 久久久免费毛片 | 黄色亚洲在线 | 国产精品毛片久久久 | 97超碰免费在线 | 永久中文字幕 | 久久你懂的 | 久久 一区 | 久久久久免费看 | 亚洲视频一区二区三区在线观看 | 少妇bbw撒尿 | 久久精品理论 | 久久试看| 久久久久欧美精品 | 国产69精品久久久久99 | www.狠狠操.com | 在线观看av麻豆 | 国产视频一区在线免费观看 | 成人免费视频观看 | 国产精品美女网站 | 一区二区视频电影在线观看 | 亚洲精品黄色片 | 在线观看日韩精品视频 | 香蕉97视频观看在线观看 | 亚洲精品ww | 色99导航| 国产美女视频网站 | 91激情小视频| 欧美性生活大片 | 国产破处在线视频 | 日韩一区二区三区不卡 | 九九综合九九 | 91在线网址 | 日本精品视频在线播放 | 中文字幕在线影视资源 | 99久久久久久久 | 色视频网站免费观看 | av中文字幕网 | 在线观看av中文字幕 | 色五婷婷| 日韩a在线 | 中文字幕一区二区三区乱码不卡 | 精品一区二区电影 | 国产在线一卡 | 在线观看国产日韩欧美 | 久久久久久国产精品亚洲78 | 一区三区视频 | 欧美中文字幕久久 | 天天草天天插 | 亚洲一区免费在线 | 久久综合色播五月 | 免费观看福利视频 | 成人午夜精品福利免费 | 天天操夜夜操夜夜操 | 国产成人精品一区一区一区 | 中文字幕在线视频第一页 | 亚洲国产日韩欧美 | 国产精品成人自产拍在线观看 | 国产啊v在线观看 | 国产成人精品在线 | 久久久久免费精品国产小说色大师 | 婷婷中文字幕 | 欧美一区二视频在线免费观看 | 最近免费观看的电影完整版 | 国产破处在线播放 | 国产91精品一区二区麻豆网站 | 天天激情站 | 久草久草在线观看 | 亚洲日本va在线观看 | 大胆欧美gogo免费视频一二区 | 日日夜夜网 | 四虎成人网 | 一级欧美黄 | 国产亚洲视频中文字幕视频 | 亚洲精品国产精品国自产 | 在线看成人 | 国产精品第54页 | 久久精品亚洲一区二区三区观看模式 | 91丨精品丨蝌蚪丨白丝jk | 免费观看一区二区三区视频 | 波多野结衣一区三区 | 精品国产乱码久久久久久久 | 天天视频亚洲 | 日日日视频 | 国产精品久久久久久久av电影 | 成人av免费网站 | 国产视频每日更新 | 亚洲精品美女久久 | 日韩在线第一 | 免费观看mv大片高清 | 免费福利视频网站 | 国内精品久久久久 | 99视频免费观看 | 国产在线观看高清视频 | 日韩免费不卡av | 日韩高清毛片 | 毛片永久新网址首页 | 久久免费毛片视频 | 国产精品欧美久久久久三级 | 日韩在线视频一区 | 精品国产三级 | 久草在线免费播放 | 国产又粗又猛又黄又爽的视频 | 狠狠躁日日躁狂躁夜夜躁av | 99精品在线视频观看 | 天天干婷婷 | 免费视频网| 婷婷资源站| 欧美一区二区三区免费观看 | 亚洲日本国产 | 在线 成人 | 亚洲国产免费网站 | 日韩在观看线 | 成年人在线免费看视频 | 五月天堂网 | 中文av资源站 | 日韩国产精品毛片 | 国产亚洲精品久久久久久 | 精品免费久久久久久 | 亚洲精品在线二区 | 中文字幕在线精品 | 91中文字幕在线观看 | 国产一区二区在线免费播放 | 国产精品一级在线 | 天天操天天爱天天干 | 日本韩国中文字幕 | 久久69精品| 中文字幕精 | 国产精品视频专区 | 中文字幕精品三级久久久 | 91在线欧美| 91亚洲精品久久久蜜桃网站 | 亚洲天堂精品视频在线观看 | 亚洲区另类春色综合小说 | 日韩成人黄色av | 欧美福利网站 | 欧美精品久久久久性色 | av电影中文 | 日韩激情影院 | 日本在线观看一区二区三区 | 国产伦精品一区二区三区照片91 | www.国产在线 | 日韩免费看视频 | 中文字幕视频三区 | 99久久久久久久久 | 美女福利视频 | 日韩精品亚洲专区在线观看 | 四虎伊人 | 黄色午夜网站 | 黄色一二级片 | 国产视频91在线 | 日韩视频在线不卡 | 日韩激情影院 | 欧美 日韩 久久 | 欧美性春潮 | 日韩在线不卡视频 | 国产精品99精品 | 麻豆 videos | 又湿又紧又大又爽a视频国产 | 五月天六月婷婷 | 日韩av一区二区三区四区 | 国产成人福利片 | 国产免码va在线观看免费 | 欧美做受高潮1 | 丁香久久 | 五月激情五月激情 | 日韩二区在线观看 | 亚洲黄色在线观看 | 美女视频又黄又免费 | 中文字幕日本电影 | 精品高清美女精品国产区 | 国产尤物视频在线 | 国产精品18久久久久久久久久久久 | 涩涩网站在线观看 | 日日干天夜夜 | 久久久久久国产一区二区三区 | 不卡中文字幕在线 | 免费高清看电视网站 | 免费高清看电视网站 | 欧美一级电影片 | 免费亚洲精品视频 | 国产精品短视频 | 久久午夜电影院 | 五月天激情综合网 | 综合激情网 | 亚洲综合在线播放 | 久久精品免费看 | 日韩免费不卡av | 91色国产在线 | 精品久久久久一区二区国产 | 亚洲视频久久久 | 日本xxxx.com | 99视频在线精品国自产拍免费观看 | 久久激情日本aⅴ | 麻豆视频在线免费看 | 日韩av片在线 | 美女国产 | 欧美aaa一级 | 国产精品美女www爽爽爽视频 | 可以免费观看的av片 | 欧美日韩另类视频 | 99久久99久久免费精品蜜臀 | 97在线观看免费 | 日本黄色大片免费看 | 成人永久视频 | 亚洲视频999 | 欧美天堂久久 | 极品美女被弄高潮视频网站 | 国产无套一区二区三区久久 | 亚洲色综合 | 久章草在线 | 国产精品一区二区久久国产 | 精品久久1| 久草视频精品 | 婷婷色在线资源 | 国产在线久草 | 日韩一区二区三区高清在线观看 | 国产福利a | 97色婷婷人人爽人人 | 又黄又刺激视频 | 欧美精品久久久久a | 天堂入口网站 | 在线韩国电影免费观影完整版 | 91精品日韩| 91污污视频在线观看 | 亚洲精品玖玖玖av在线看 | 在线观看欧美成人 | 国产成人精品免高潮在线观看 | 久久91网 | 天天插综合网 | 国产91精品在线播放 | 在线免费精品视频 | 国产午夜精品一区二区三区 | 97福利在线 | 亚洲精品久久久久久久不卡四虎 | 在线免费观看av网站 | 亚洲v欧美v国产v在线观看 | 夜夜躁天天躁很躁波 | 天堂视频一区 | 国产视频美女 | 黄网站大全 | 一区二区三区四区在线免费观看 | 色视频网页 | 久草国产视频 | 97超碰在线人人 | 成年人在线免费看视频 | 在线观看中文字幕av | 日韩电影一区二区三区在线观看 | 狠狠综合久久 | 国产99re | 国产精品免费一区二区三区在线观看 | 色婷婷久久一区二区 | 国产91精品一区二区麻豆亚洲 | 国产日韩欧美视频在线观看 | 国产精品高潮久久av | 天天射一射 | 国产伦理一区二区 | 国产成人1区 | 亚洲成人黄色在线 | 久久久久久久久久久久电影 | av在线免费播放网站 | 中文字幕乱码日本亚洲一区二区 | japanese黑人亚洲人4k | 超碰官网 | 99精品视频免费看 | 片黄色毛片黄色毛片 | 国产中文字幕在线观看 | 91视频久久 | www色,com| 黄色网址在线播放 | 不卡国产视频 | 在线观看免费视频你懂的 | 97超碰在线免费观看 | 成人黄色小说视频 | 日韩中文字幕第一页 | 四虎永久视频 | 免费在线观看av不卡 | 激情网在线视频 | 亚洲激情小视频 | 国产五月色婷婷六月丁香视频 | 色婷婷综合久久久久中文字幕1 | 亚洲视屏在线播放 | 国产一级视频在线 | 午夜精品电影 | 精品成人久久 | 天天色婷婷 | 久久精品电影 | 操操综合| 久久久久久久久网站 | 久久久久久国产精品久久 | 999在线视频 | 久免费视频 | 色噜噜色噜噜 | 夜夜高潮夜夜爽国产伦精品 | 激情五月视频 | 久久久免费观看视频 | 99热这里有 | 日韩激情综合 | 99久久婷婷国产综合亚洲 | 欧美黄色特级片 | 免费看片网址 | 91片黄在线观 | av观看网站 | 一本一道久久a久久精品 | 日韩精品一区二区三区水蜜桃 | 色吊丝在线永久观看最新版本 | 午夜视频在线观看一区二区三区 | 国产不卡网站 | 日韩网 | 国产精品18久久久久久久网站 | 岛国精品一区二区 | 一区二区三区在线观看 | 免费看的黄色的网站 | 成人av资源站 | 亚洲国产精品激情在线观看 | 久久精品在线 | 色在线视频网 | www.久久91| 在线免费国产视频 | 亚洲精品日韩一区二区电影 | 18国产精品白浆在线观看免费 | 在线观看视频中文字幕 | 亚洲一级影院 | 欧美特一级片 |