javawsdl的簡單介紹

本文目錄一覽:

Java調用wsdl,怎麼實現

java調用wsdl的步驟如下,主要是使用第三方框架:

步驟如下:

1.下載AXIS2類庫,AXIS2是目前java調用webservice的一個主要方法(由於更新較頻繁,請自行google該類庫的網址)

2.由於是第三方webservice,直接引入AXIS2的包就可以用了,代碼如下:

import java.rmi.RemoteException;

import javax.xml.rpc.ParameterMode;

import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

import org.apache.axis.encoding.XMLType;

 

public class webServiceTest {

    public String invokeRemoteFuc() {

        String endpoint = “”;

        String result = “no result!”;

        Service service = new Service();

        Call call;

        Object[] object = new Object[1];

        object[0] = “Dear I miss you”;//Object是用來存儲方法的參數

        try {

            call = (Call) service.createCall();

            call.setTargetEndpointAddress(endpoint);// 遠程調用路徑

            call.setOperationName(“say”);// 調用的方法名

 

            // 設置參數名:

            call.addParameter(“str1”, // 參數名

                    XMLType.XSD_STRING,// 參數類型:String

                    ParameterMode.IN);// 參數模式:’IN’ or ‘OUT’

 

            // 設置返回值類型:

            call.setReturnType(XMLType.XSD_STRING);// 返回值類型:String         

 

            result = (String) call.invoke(object);// 遠程調用

        } catch (ServiceException e) {

            e.printStackTrace();

        } catch (RemoteException e) {

            e.printStackTrace();

        }

        return result;

    }

 

    public static void main(String[] args) {

        webServiceTest t = new webServiceTest();

        String result = t.invokeRemoteFuc();

        System.out.println(result);

    }

}

該方法的原理很簡單,通過AXIS2封裝好的類設置URL和參數,直接調用就好了,我們要關注的就是設置URL,方法,還有方法的參數,其他的copypaste好啦,很簡單吧,再看看其他的方法,我勒個去了,害我瞎搞兩天。遲點上個源碼共大家參考!

Java怎麼實現wsdl發送xml

步驟如下:

1.下載AXIS2類庫,AXIS2是目前java調用webservice的一個主要方法(由於更新較頻繁,請自行google該類庫的網址)

2.由於是第三方webservice,直接引入AXIS2的包就可以

代碼如下:

import java.rmi.RemoteException;

import javax.xml.rpc.ParameterMode;

import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

import org.apache.axis.encoding.XMLType;

public class webServiceTest {

public String invokeRemoteFuc() {

String endpoint = “”;

String result = “no result!”;

Service service = new Service();//新建一個service

Call call;

Object[] object = new Object[1];

object[0] = “Dear I miss you”;//Object是用來存儲方法的參數

try {

call = (Call) service.createCall();

call.setTargetEndpointAddress(endpoint);// 遠程調用路徑

call.setOperationName(“say”);// 調用的方法名

// 設置參數名:

call.addParameter(“str1”, // 參數名

XMLType.XSD_STRING,// 參數類型:String

ParameterMode.IN);// 參數模式:’IN’ or ‘OUT’

// 設置返回值類型:

call.setReturnType(XMLType.XSD_STRING);// 返回值類型:String

result = (String) call.invoke(object);// 遠程調用

} catch (ServiceException e) {

e.printStackTrace();

} catch (RemoteException e) {

e.printStackTrace();

}

return result;//返回值

}

public static void main(String[] args) {

webServiceTest t = new webServiceTest();

String result = t.invokeRemoteFuc();

System.out.println(result); //輸出

}

}

通過AXIS2封裝好的類設置URL和參數,直接調用。

java webservice怎麼生成wsdl文件

在大多數情況下我們都需要為我們的服務提供一個WSDL文件,而 Axis2’s Java2WSDL 是專門用來生成WSDL文件的D專用工具,如果你要在命令行模式下進行生成WSDL文件,首先需要保證你的環境變量AXIS2_HOME是否已經配置OK,同時還要保證把%AXIS2_HOME%\bin加入到你的path環境中,要生成 WSDL文件,首先要保證你的class能夠編譯成功,而且已經編譯成功,然後進入class文件編譯後的根目錄(在JBuilder中是classes,在Eclipse中是bin目錄)這時,生成WSDL文件的準備工作已經OK。\x0d\x0a\x0d\x0a下面是生成WSDL文件時的可選參數和參數說明:\x0d\x0a———————————————————————————\x0d\x0aUsage java2wsdl -cn : class file name\x0d\x0a-o : output file location\x0d\x0a\x0d\x0a-cp : list of classpath entries – (urls)\x0d\x0a\x0d\x0a-tn : target namespace\x0d\x0a\x0d\x0a-tp : target namespace prefix\x0d\x0a\x0d\x0a-stn : target namespace for schema\x0d\x0a\x0d\x0a-stp : target namespace prefix for schema\x0d\x0a\x0d\x0a-sn : service name\x0d\x0a\x0d\x0a-of : output file name for the WSDL\x0d\x0a\x0d\x0a-st : style for the WSDL\x0d\x0a\x0d\x0a-u : use for the WSDL\x0d\x0a\x0d\x0a-l : address of the port for the WSDL\x0d\x0a\x0d\x0a-nsg : fully qualified name of the class that implements NamespaceGenerator\x0d\x0a\x0d\x0a-p2n [,,] …\x0d\x0a\x0d\x0a-efd : Setting for elementFormDefault (defaults to qualified)\x0d\x0a\x0d\x0a-afd : Setting for attributeFormDefault (defaults to qualified)\x0d\x0a\x0d\x0a-xc : Extra class for which schematype must be generated.\x0d\x0aUse as : -xc class1 -xc class2 …\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a典型地,進入你的工程的二進制編譯根目錄,執行命令模板如下:\x0d\x0ajava2wsdl -cp . -cn [PACKAGENAME].[CLASSNAME]-of [FILENAME].wsdl\x0d\x0a\x0d\x0a現在我們假設在samples.helloworld.service.axiom;包下面有個HelloWorldService類,工程的類文件編譯後存放在build\classes目錄下,那麼,首先進入該目錄中,然後執行以下命令:\x0d\x0ajava2wsdl -cp . -cn samples.helloworld.service.axiom.HelloWorldService -of HelloWorldService.wsdl\x0d\x0a\x0d\x0a執行後的CMD提示如下說明已經成功執行了:\x0d\x0a\x0d\x0aUsing AXIS2_HOME: D:\axis2-1.1.1\x0d\x0aUsing JAVA_HOME: C:\Program Files\Java\jdk1.5.0_06

JAX-WS用什麼命令從JAVA代碼生成WSDL文檔?

你好,使用java自帶的wsgen命令生成wsdl文件,前提是需要開發機器上安裝並配置好了java環境變量。

操作步驟如下:

在cmd下,切換到項目(wsproject)目錄下,輸入如下命令:D:\wsprojectwsgen -cp WebRoot/WEB-INF/classes/ -r WebRoot/WEB-INF/wsdl -s src -d WebRoot/WEB-INF/classes -wsdl name.zeal.service.MySrv

執行完畢後,會在WebRoot/WEB-INF/wsdl下生成兩個文件:MySrvService.wsdl和MySrvService_schema1.xsd

如果接口客戶端只能用一個wsdl文件,那就得使用內嵌模式的WSDL文件命令生成單個文件了。示例:D:\wsprojectwsgen -cp WebRoot\WEB-INF\classes\ -r WebRoot/WEB-INF/wsdl -s src -d WebRoot/WEB-INF/classes -wsdl -inlineSchemas name.zeal.service.MySrv

注意事項:如果要用到wsgen,則必須需要對Service實現的Java代碼進行標註註解,否則wsgen無法識別到這是一個WebService

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/293348.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-26 13:14
下一篇 2024-12-26 13:14

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的“畫筆”在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智能,Python都扮演着重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進制下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27

發表回復

登錄後才能評論