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

cxf發布web介面

發布時間: 2022-07-20 14:08:14

『壹』 CXF方式發布WebService服務,spring-cxf.xml中配置的發布服務方式區別,分別在什麼情況下使用

只是配置的方式不同

~
~
~

『貳』 如何使用CXF調用webservice介面

1、 JaxWsProxyFactoryBean
簡介:調用方式採用了和RMI類似的機制,即客戶端直接伺服器端提供的服務介面(interface),CXF通過運行時代理生成遠程服務的代理對象,在客戶端完成對webservice的訪問;幾個必填的欄位:setAddress-這個就是我們發布webservice時候的地址,保持一致
缺點:這種調用service的好處在於調用過程非常簡單,就幾行代碼就完成一個webservice的調用,但是客戶端也必須依賴伺服器端的介面,這種調用方式限制是很大的,要求伺服器端的webservice必須是java實現--這樣也就失去了使用webservice的意義
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
public class Client {
public static void main(String[] args) {
JaxWsProxyFactoryBean bean = new JaxWsProxyFactoryBean();
bean.setServiceClass(HelloWorldService.class);
bean.setAddress("http://localhost:9090/helloWorldService");
HelloWorldService helloWorldService = (HelloWorldService)bean.create();
String result = helloWorldService.sayHello("Kevin");
System.out.println(result);
}

2、JaxWsDynamicClientFactory [Dynamci:動態的]
簡介:只要指定伺服器端wsdl文件的位置,然後指定要調用的方法和方法的參數即可,不關心服務端的實現方式。
wsdl [Web Services Description Language]網路服務描述語言是Web Service的描述語言,它包含一系列描述某個web service的定義
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
public class Client2 {
public static void main(String[] args) throws Exception {
JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();
Client client = clientFactory.createClient("http://localhost:9090/helloWorldService?wsdl");
Object[] result = client.invoke("sayHello", "KEVIN");
System.out.println(result[0]);
}
}

3、JaxWsServerFactoryBean
用JaxWsServerFactoryBean發布,需要獨立的jetty包。
註:具體可以參考CXF API ----http://cxf.apache.org/docs/dynamic-clients.html

『叄』 基於cxf的webservice服務端怎麼重新發布

什麼怎麼發布?介面,實現類寫好了就可以發布了啊。
項目沒有引入CXF包就是默認JDK發布,
引入後自動變成CXF發布啊

可以main方法發布,也可以在項目啟動時發布,也可以在某一操作下發布啊
使用java.ws的類的Enpoint.publish(address,new xxxImpl);發布

『肆』 關於使用CXF 發布WebService的問題

經過我幾年的CXF開發經驗來看,發布服務確實有兩種方式,一種是通過javax.xml.ws.Endpoint這個類,一種是通過Server

配置文件中可以使用<jaxws:endpoint> 或者<jaxws:server>來發布,效果差不多,至於區別。。

請看:
First, they are all for the server side configuration.
Second, jaxws:endpoint is coming from JAXWS API, and it is used to
configure the org.apache.cxf.jaxws.EndpointImpl which extends
javax.xml.ws.Endpoint.
jaxws:server is for configuring the JaxWsServerFactoryBean, which is
coming from the Xfire API.

For the user who has the Xfire using experience, I think they will
prefer to use jaxws:server tag.
For the JAXWS API fans, jaxws:endpoint will be they first choice.
There are not much difference between the jaxws:endpoint and
jaxws:server, since the EndpointImpl is a wrapper class for the
JaxWsServerFactoryBean.

『伍』 如何用java調用cxf webservice介面

WebService CXF客戶端報 java.lang.RuntimeException: Cannot create a secure XMLInputFactory 異常,查了許多網路關於該問題的解決辦法,很多都說缺少包問題,但問題是我的包都存在,我用的是apache-cxf-2.7.6,經過不懈努力終於解決了,我的服務端用的是web project,客戶端用的是java project,客戶端jar包是引用其它地方的,後來建一個web project客戶端,把jar直接復制到project的lib目錄下就行了,jdk用的是1.7,客戶端依賴的介面用wsdl2java生成的。

『陸』 如何使用CXF調用webservice介面

1、使用axis調用
2、使用xfire調用
3、使用cxf調用
項目中,採用axis進行調用,記錄如下,備忘:
ps教程:想當年的時候是用的xfire方式調用的,結果沒做記錄,現在已經完全記不得怎麼玩了。所以說要多寫博客啊 t_t
版本說明:
aixs版本:axis-bin-1_4.zip
java環境略
第一步:確保wsdl文件可用,文中為獲取到sendsmsservice.wsdl,當然url的也行。
第二步:執行生成客戶端代碼的腳本。腳本內容為:
set axis_lib=d:axis-1_4lib
set java_cmd=java -djava.ext.dirs=%axis_lib%
set output_path=.
set package=info.jyzh.wap.liaoning.push
%java_cmd% org.apache.axis.wsdl.wsdl2java sendsmsservice.wsdl -o%output_path% -p%package% -t

『柒』 如何搭建基於cxf的webservice服務端

方法/步驟

如果是搭建web項目,首先可以從官網上示常式序,將裡面的web.xml文件直接替換到新建的項目。進入apache官網,點擊project

點擊選擇下載的鏡像文件,通過這個鏈接就可以進入apache下所有開源項目下載地址界面。

找到cxf項目,選擇合適的版本,可以下載帶有源碼或者不帶有源碼的程序示例

創建maven工程。打開eclipse,點擊File--新建--Maven project就可以創建maven工程。

打開maven項目的pom.xml文件,將cxf需要的jar包添加到依賴中。
(由於文件內容比較多,如果你有需要,可以留言)

編寫對外公布的介面和實現類。編寫對外公布的介面,同時在介面的上面添加@Webservice的註解。編寫實現類也要添加。

啟動項目,本示例採用java application的方式啟動,啟動之後,在瀏覽器中輸入地址就可以訪問到wsdl文件內容。

『捌』 求助如何使用servicemixcxf發布webservice

1.創建一個Dynamic Web project,名為HelloWorld

2.在src中新建package,包名為net.kentop.ws

3.在net.kentop.ws包中新建class,類名為HelloWorld

4.修改HelloWorld.java文件如下

[java] view plain
package net.kentop.ws;

public class HelloWorld {
public String sayHello(String name) {
return "Hello " + name;
}
}

5.為HelloWorld項目創建Server,並啟動Server

6.為HelloWorld.java文件創建WebService

7.測試webservice
點擊Operations Name為sayHello的鏈接

在文本框中輸入數據,點擊「GO」按鈕

下方會顯示如下信息,表示測試成功

8.創建名為servicemix-cxf-bc-demo的Maven Project項目根目錄

9.在根項目下創建名為cxf-bc-su-demo的servicemix-cxf-bc-service-unit

10.將HelloWorld項目下WebContent/wsdl/HelloWorld.wsdl文件拷貝到cxf-bc-su-demo/resources目錄下,並將service.wsdl刪除

11.將HelloWorld.wsdl如下代碼

[xhtml] view plain
<wsdl:service name="HelloWorldService">

<wsdl:port binding="impl:HelloWorldSoapBinding" name="HelloWorld">

<wsdlsoap:address location="localhost:8080/HelloWorld/services/HelloWorld"/>

</wsdl:port>

</wsdl:service>