1. 程式人生 > >淺析WSDL介面開發(webservice)

淺析WSDL介面開發(webservice)

最近接觸了一下基於WSDL的介面開發,特在此整理一下,步驟如下

一:生成客戶端/服務端

這裡可以使用但不侷限於以下兩種方式    1:基於檔案生成    2:基於路徑生成

以生成測試Server為例,IDE:MyEclipse

選中要生成測試Server的檔案,右鍵選擇MyEclipse—New Web Service,點選Next,Web service project中ServiceDefinition選擇WSDL File,在Java package中點選Browse選擇要在那個資料夾生成檔案,點選OK,點選NEXT,完成後點選Finish,結束。對於基於路徑生成可在Web service project中Service

Definition選擇WSDL URL

二:呼叫客戶端/服務端

以客戶端為例,甲方給的提示程式碼如下

SyncService service = new SyncService ();

Sync portType = service.getHTTPPort();

portType.siSync(...);

這裡只需要根據siSync方法裡的資料賦值即可

三:驗證問題

若存在需要登陸驗證,可加入下面的方法

static{

java.net.Authenticator.setDefault(new java.net.Authenticator(){

@Override

protected java.net.PasswordAuthentication getPasswordAuthentication(){

return new java.net.PasswordAuthentication("使用者名稱","密碼".toCharArray());

}

});

}

四:其他問題

1:WSP0071:multiple police assertion creators try to register for namespace

出現這種情況的原因是jar包衝突,此時應檢查專案裡的jar包與剛才生成程式碼的jax-ws包是否衝突

檢查的檔案包括tomcat的lib,專案的lib以及其他,若存在衝突,刪除掉就可以了,以下是可能會出現問題的幾個jar包

有的專案可能也會帶著別的webservice的jar包,一律刪除,找到自己jax-ws的jar包檔案我的路徑如下

E:\MyEclipse\Common\plugins\com.genuitec.eclipse.ws.xfire_9.0.0.me201205100021\lib

找到這四個檔案,複製到剛才jar包的檔案裡,重新編譯執行

2:Server error,在傳引數的地方顯示 UnknowSource

1:出現這種情況一般是傳值的時候,傳入的資料長度>wsdl配置檔案允許的長度,檢查wsdl檔案是不是有償度限制

2:傳入的屬性不全

3:server方的錯誤

推薦使用軟體Altova XMLSpy除錯,路徑如下

https://download.csdn.net/download/qq_36264455/10424335

相關推薦

淺析WSDL介面開發(webservice)

最近接觸了一下基於WSDL的介面開發,特在此整理一下,步驟如下一:生成客戶端/服務端這裡可以使用但不侷限於以下兩種方式    1:基於檔案生成    2:基於路徑生成以生成測試Server為例,IDE:MyEclipse選中要生成測試Server的檔案,右鍵選擇MyEclip

使用cxf+javax開發WebService介面及呼叫

1、jar包:cxf-2.5.3.jar   neethi-3.0.2.jar    wsdl4j-1.6.2.jar    xmlschema-core-2.0.2.jar 2、配置檔案:<---cxf.xml---> <

WebService 介面開發與訪問

@WebService(name = "fruit") @Controller public class WsWebService extends SpringBeanAutowiringSupport{     @SuppressWarnings("static-acces

BOS WebService 介面開發與呼叫

一.建立Façade或者Entity,本案例中以Façade為例,Entity可以參考 在BOS Studio工具中建立Façade以及相應的方法併發布,釋出時要勾選“生成配置檔案” 需要注意的地方: 1、釋出成WebService的方法,其方法引數和返回值型別必

EAS webService介面開發(借鑑BOSwebservice釋出流程)

本文僅是學習筆記記錄。 背景:在eas內填寫的流程申請單根據呼叫OA介面建立單據,OA稽核完後需要把狀態傳給EAS,顯示單據已稽核。 BOS Facade的命名規範是:首字母大寫,以“Facade”結束。 新建Facade檔案  在BOS Studio,開啟“包分類”檢

JAVA中使用JDK開發WebService介面,供別人呼叫

一、WebService的開發手段 使用Java開發WebService時可以使用以下兩種開發手段 1、 使用JDK開發(1.6及以上版本) 2、使用CXF框架開發(工作中) 二、使用JDK開發WebS

apache-cxf-3.1.6(webService介面開發maven)

1 結構圖 2 jar包 pom.xml    <dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-core</artifactId><

Oracle EBS介面開發之通過DBWS包實現WEBSERVICE

簡介 Oracle在9i時代就釋出了擴充套件包來支援PL/SQL訪問Web Services,並且在Oracle 10g版本中使得該功能變得更加強大;這都源於引入了UTL_DBWS包,其實它是封裝了

webService學習之路(三):springMVC整合CXF後呼叫已知的wsdl介面

本篇文章將講解SpringMVC+CXF環境下,怎麼呼叫其他系統通過webService方式暴露出來的介面 ① 為避免懷疑同一個專案中呼叫本專案的介面,這裡我新開啟一個eclipse通過最原始的方式釋出了一個webservice並啟動保證可以被訪問 開啟瀏覽器確認可以被訪問 ②進入CXF/bin

MyEclipse 開發WebService介面

查看了網上的各類用Java開發WebService介面的方法,有些麻煩而且行不通,自己實踐後,將實踐過程記錄如下,以備以後之用。 一、服務端釋出WebService介面 1、在Myeclipse中,選擇File->new->Web Service Project

wsdl 檔案生產webservice 客戶端(jax-ws) ,介面超時設定

1.  首先 把需要呼叫的方法的類(clientToServiceClas)進行如下轉換:       BindingProvider bindingP=(BindingProvider)clientToServiceClass; 2. 設定連線超時時間,使用Bin

使用Axis2開發webservice服務端介面+axis開發的客戶端呼叫

之前用了cxf框架開發了服務端。為了區別二者的特點,區分了解。今天用axis2框架開發服務端。這裡感謝博主javawebsoa的文章:用AXIS2釋出WebService的方法。這裡自己在記錄一下自己的開發思路。 環境: jdk:發現要求不高。1.5

axis2開發webservice之編寫Axis2模塊(Module)

mes idt com 2.x web-inf turn 分享 元素 rate axis2中的模塊化開發。能夠讓開發者自由的加入自己所需的模塊。提高開發效率,減少開發的難度。 Axis2能夠通過模塊(Module)進行擴展。Axis2模塊至少須要有兩個類,這兩

ESB開發WebService接口

尋址 信息系統 過濾 執行 ace 數據庫查詢 流程 技術 位置 1 概述 在進行系統間集成時經常利用WebService,但是從建立WebService和調用的重復性和維護性的工作量都相當大。 首先簡單介紹一下,ESB全稱為Enterprise Service Bus,即

C#開發WEBService服務 C++開發客戶端調用WEBService服務

blank 內容 目錄 www nal .net 操作 service服務 3.1 編寫程序 http://blog.csdn.net/u011835515/article/details/47615425 遇到問題及解決方法: HTTP 錯誤 500.19- I

解析利用wsdl.exe生成webservice代理類的詳解

不同 綁定 配置 img 請求 name cto lena 處理 利用wsdl.exe生成webservice代理類:根據提供的wsdl生成webservice代理類1、開始->程序->Visual Studio 2010 命令提示2、輸入如下紅色標記部分D:/

IDEA開發WebService遇到的問題和SOAPUI工具的使用

soapui 返回 服務端 第一個 工具 下載 客戶端 ide 後來 在用idea開發webService時遇到了一個奇怪的問題。先是使用自帶的 Axis 把服務器端建立好後,直接根據wsdl生成客戶端 在測試過程中卻出了問題,我的提供服務的方法有5個參數,在客戶端

WebService系列二:使用JDK和CXF框架開發WebService

method IT ebean pri build 實例 cxf 地址 result 一、使用JDK開發WebService 服務端程序創建: 1.新建一個JDK開發webservice的服務端maven項目JDKWebServiceServer 2. 定義一個接口,

Spring Boot用Cxf的jax-ws開發WebService

contex 字符串 scope nap 1.0 地址 method ons lean 首先上項目的pom.xml: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http

C# 利用VS自帶的WSDL工具生成WebService服務類

web 路徑 引用 src cnblogs logs png program 菜單 WebService有兩種使用方式,一種是直接通過添加服務引用,另一種則是通過WSDL生成。 添加服務引用大家基本都用過,這裏就不講解了。 那麽,既然有直接引用的方式,為什麽還要通過WSDL