成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用Netbeans生成的Webservice

開發 后端
本文將詳細介紹如何使用Netbeans生成的Webservice,

用Netbeans生成webservice非常方便,當然,有jdk6環境是***,但有個問題經常困惑我們,就是在測試環境或開發環境中完成的代碼要實施部署到其他機器上 時,我們會束手無策,只好一個個去改代碼中的目標endpoint地址;有人說用配置文件啊,呵呵,在純粹手動寫的axis或xfire中也許很方便,但在Netbeans中這些自動生成的片段,改起來比較麻煩,雖然開發的時候托托拽拽很方便。以前,我一直就是這么安慰自己,事物都有兩面性嘛!最近看到Sun Webservice老大arun gupta的文章,發現其實要改變這個很容易,非常容易,不過還是有問題,下面會詳細講述。

舉個例子:

按Arun的說法,我們經常使用的wsdl已生成代碼來調用webservice,其中,jax-ws的版本是2.1

  1. Hello port = new HelloService().getHelloPort();   
  2.  
  3. String result = port.sayHello("Duke!");  

當然,上面的描述都是對應特定ip地址發布的webservice,如果將此相同的服務最終部署到其他機器,就不能使用了。所以,我們可以在上面兩行之間增加另外一行代碼:

  1. ((javax.xml.ws.BindingProvider)port).getRequestContext().put(javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "NEW_ADDRESS_HERE");  

實際使用中直接將NEW_ADDRESS_HERE替換成相應的endpoint地址就行了。

我覺得Arun在測試的時候和我之前是犯了同樣的錯誤,在換了endpoint之后,如果按上面的方法,在原始的app server不關閉的時候是可行的,但這種情況很少發生。在執行“Hello port = new HelloService().getHelloPort();”這句代碼時,會先去取原始的wsdl文件,如果原始的app server已關閉,則會報異常,((javax.xml.ws.BindingProvider)port).getRequestContext().put(javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "NEW_ADDRESS_HERE");這句代碼就不能再執行了。

經過摸索,我找到了一個好的方法,具體如下:

首先,要定義新的endpoint的URL:URL endpoint_new = new URL("NEW_ADDRESS_HERE");

再定義一個QName: QName qname = new QName("http://"+"ORIGINAL_PACKAGE","SERVICE_NAME");

其中NEW_ADDRESS_HERE就是新的endpoint地址,ORIGINAL_PACKAGE就是產生的webservice的包,SERVICE_NAME是發布的service名稱,試一下就知道,如果填錯了,會提示你哪些是有效的寫法。

***,Hello port = new HelloService().getHelloPort();這句要替換掉,改成Hello port = new HelloService(endpoint_new,qname).getHelloPort();

我在jax-ws官網又找到一篇文章:https://jax-ws.dev.java.net/guide/How_to_invoke_and_endpoint_by_overriding_endpoint_address_in_the_WSDL.html。它把上面兩種情況都包括進去了,只是沒怎么具體說明,讓人有點摸不著頭腦。

【編輯推薦】

  1. Netbeans 6.0模塊快速入門教程
  2. Netbeans 6.0發布,支持Ruby、移動開發和集成的剖析器
  3. Netbeans 6.0預覽版發布 Sun再引驚呼
  4. Netbeans成為Ruby開發者的新伙伴(3)
  5. 八大技術牛人點評Netbeans 6.5
責任編輯:張燕妮 來源: csdn
相關推薦

2009-08-06 16:44:03

C#創建WebServ

2009-06-12 11:36:42

Netbeans插件DTrace GUI

2009-06-10 14:59:04

Netbeans 6.應用程序

2009-08-13 15:16:00

Eclipse建立We

2009-06-11 10:28:47

netbeans 部署

2009-06-11 10:06:50

NetBeans使用

2009-06-09 13:02:30

NetBeans使用教程

2010-06-09 19:17:46

UML

2009-06-04 15:59:53

Netbeans操作MMySQL數據庫

2009-06-15 14:28:00

NetBeansJavafx

2011-11-29 10:23:47

JSPaxiswebservice

2009-06-09 16:01:36

NetBeansIDEjava

2011-06-15 10:27:49

PythonNetBeans

2009-06-11 10:50:27

netbeans配置

2009-06-11 10:02:04

NetBeans設置JavaDoc

2010-09-25 13:34:18

nbandroidNetBeans 6.插件

2009-06-15 14:37:00

如何安裝netbean

2010-05-25 14:54:18

2009-06-05 15:22:28

NetbeansEclipse

2023-02-26 10:16:19

JavaPDF文檔
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区av在线 | 日韩中文字幕 | 欧洲亚洲一区二区三区 | 天天草视频 | 国产一区二 | 国产精品免费av | 久久久久久久久99精品 | 国产精品一区二区无线 | 欧美久久久久 | 精品在线一区二区三区 | 久久久久久国产 | 伊人二区 | 一区二区三区在线播放 | 亚州成人| 国产福利在线播放 | 久久国产综合 | 亚洲欧洲一区 | 欧美日韩一区二区三区在线观看 | 亚洲国产成人精品一区二区 | 91天堂 | 国产午夜精品福利 | 亚洲在线日韩 | 久久精品一区 | 日韩一区二区三区在线 | 欧美亚洲另类丝袜综合网动图 | 久久99精品久久久久久 | 亚洲精品国产区 | 国产高清一区二区三区 | 亚洲欧美中文日韩在线v日本 | 亚洲欧美日韩成人在线 | 国内在线视频 | 国产福利资源在线 | 日韩免费视频一区二区 | 91偷拍精品一区二区三区 | 欧美一区二区三区,视频 | 先锋资源网 | 黄一区二区三区 | 午夜国产 | 伊人精品久久久久77777 | 在线91| 欧美一级视频免费看 |