java動態調用webservice

來源:互聯網
上載者:User

標籤:nts   put   puts   disable   port   equals   動態調用   trace   方式   

cxf方式

public static Object[] invokeRemoteMethod(String url, String method, Object[] parameters) {        JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();        if (!url.endsWith("wsdl")) {            url += "?wsdl";        }        org.apache.cxf.endpoint.Client client = dcf.createClient(url);        try {            Object[] objects = client.invoke(method, parameters);            return objects;        } catch (Exception e) {            e.printStackTrace();        }        return null;    }

maven引用

<dependency>            <groupId>org.apache.cxf</groupId>            <artifactId>cxf-rt-frontend-jaxws</artifactId>            <version>3.1.5</version>        </dependency>        <!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-core -->        <dependency>            <groupId>org.apache.cxf</groupId>            <artifactId>cxf-core</artifactId>            <version>3.1.5</version>        </dependency>        <dependency>            <groupId>org.apache.cxf</groupId>            <artifactId>cxf-rt-transports-http</artifactId>            <version>3.1.5</version>        </dependency>

缺點是效率低,調用速度慢

Xfire方式調用

public static String getData(String wsUrl, String invoke, Object[] objParams) throws MalformedURLException, Exception {        URL url = new URL(wsUrl);        HttpURLConnection connection = (HttpURLConnection)url.openConnection();        connection.connect();        Client client = new Client(connection.getInputStream(), (Class)null);        client.setProperty("disable-keep-alive", "true");        client.setProperty("disable.expect-continue", "true");        client.setUrl(wsUrl);        Object[] result = client.invoke(invoke, objParams);        String resultStr = result[0].toString();        return "".equals(resultStr)?"":resultStr;    }

maven引用

 <dependency>             <groupId>org.codehaus.xfire</groupId>             <artifactId>xfire-all</artifactId>             <version>${xfire.version}</version>             <exclusions>                 <exclusion>                     <groupId>org.springframework</groupId>                     <artifactId>spring</artifactId>                 </exclusion>             </exclusions>         </dependency>

缺點是jar包太舊了,很容易與其他包衝突 

 

java動態調用webservice

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.