国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用 Apache cxf 實現 WebService 客戶端

mingzhong / 796人閱讀

摘要:證書有兩種形式指定路徑有三種形式的插件可以指定參數來解決一下常見的問題下的可以選擇所需的命令參數使用參考添加解決中命名沖突添加指定自動生成的包名

ws-client-demo

客戶端調用遠程服務

http://localhost:8280/services/HelloWorld?wsdl

spring + cfx 配置 maven

添加依賴包


  org.apache.cxf
  cxf-rt-frontend-jaxws
  3.2.3


  org.apache.cxf
  cxf-rt-transports-http
  3.2.3
wsdl2java

把 HelloWorld.wsdl 下載到 resources 當中

使用 maven 插件 cxf-codegen-plugin 生成代碼

  
    org.apache.cxf
    cxf-codegen-plugin
    3.2.2
    
      
        generate-sources
        generate-sources
        
          ${project.build.directory}/generated/cxf
          
            
              ${basedir}/src/main/resources/HelloWorld.wsdl
            
          
        
        
          wsdl2java
        
      
    
  

maven compile 任務完成之后在targetgeneratedcxfcomexampledemows 下會有很多文件

    CurrentDate.java
    CurrentDateResponse.java
    HelloWorld.java
    HelloWorldImplService.java
    ObjectFactory.java
    package-info.java
    SayHi.java
    SayHiResponse.java
調用 WebService 使用 spring

把 HelloWorld.java 復制到 srcmainjavacomexampledemows 目錄下

同時 HelloWorld.java 里面 @XmlSeeAlso({ObjectFactory.class})這行代碼刪掉




    
package com.example.demo;

import com.example.demo.ws.service.HelloWorld;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import javax.xml.datatype.XMLGregorianCalendar;

public class Main {

    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        HelloWorld client = (HelloWorld) context.getBean("helloClient");

        String resp1 = client.sayHi("小明");
        System.out.println(resp1);
        XMLGregorianCalendar resp2 = client.currentDate();
        System.out.println(resp2.toString());
    }
}
不使用 spring
package com.example.demo;

import com.example.demo.ws.service.HelloWorld;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import java.net.MalformedURLException;
import java.net.URL;

public class WithoutSpring {
    public static void main(String[] args) throws MalformedURLException {
        URL wsdlURL = new URL("http://localhost:8280/services/HelloWorld?wsdl");
        QName SERVICE_NAME = new QName("http://service.ws.demo.example.com/", "HelloWorldImplService");
        Service service = Service.create(wsdlURL, SERVICE_NAME);
        HelloWorld client = service.getPort(HelloWorld.class);
        String result = client.sayHi("小紅");
        System.out.println(result);
    }
}

可以直接運行的demo

GitHub https://github.com/openmartin...

其他配置

demo 中是比較簡單的情況,但是實際的情況會更復雜,下面介紹一下常用的配置

SSL Certificate and Proxy

參考 https://cxf.apache.org/docs/c...

在 applicationContext.xml 可以為web service client 配置proxy 和 ssl cert,完全不用寫代碼。

ssl 證書有兩種形式 pkcs12、jks, 指定路徑有三種形式 url、file、resource




    

        
            
                
            
            
            
            
            
                
                .*_EXPORT_.*
                .*_EXPORT1024_.*
                .*_WITH_DES_.*
                .*_WITH_AES_.*
                .*_WITH_NULL_.*
                .*_DH_anon_.*
            
        
        

    
    
    

cxf-codegen-plugin

cxf 的 maven 插件可以指定參數來解決一下常見的問題(下的可以選擇所需的wsdl2java命令參數使用)

參考 http://cxf.apache.org/docs/ws...

添加-autoNameResolution 解決wsdl中命名沖突

添加-p packagename 指定自動生成的包名

      
        org.apache.cxf
        cxf-codegen-plugin
        3.2.2
        
          
            generate-sources
            generate-sources
            
              ${project.build.directory}/generated/cxf
              
                
                  ${basedir}/src/main/resources/HelloWorld.wsdl
                  
                    -autoNameResolution
                    -verbose
                    -p
                    com.example.demo.ws
                  
                
              
            
            
              wsdl2java
            
          
        
      

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76334.html

相關文章

  • RPC框架是啥之Apache CXF一款WebService RPC框架入門教程

    摘要:支持相關規范和標準,包括同上。支持多種傳輸協議和協議綁定數據綁定。構建端還有其服務實現,接口使用注解,標明是一個遠程服務接口。然后編寫一個的啟動程序,并運行,我想你會成功的因為我看到了下圖是一種跨平臺的技術協議。 本博客 貓叔的博客,轉載請申明出處 學習系列 RPC框架是啥? RPC框架是啥之Java自帶RPC實現,RMI框架入門 Apache CXF一款WebService RP...

    SolomonXie 評論0 收藏0
  • SpringBoot 使用CXF 集成WebService

    摘要:啟動后我們直接輸入項目地址指定的服務名會看到生成的。測試在這就不寫了,大家可以使用生成客戶端,或者直接使用發送格式數據進行請求。總結使用集成開發很簡單,不用在單獨的部署到外部上,這為我們熟悉開發的同學帶了很好的體驗。 1、寫在前面 WebService 對我來說既熟悉又陌生,已經將近六七年沒有看到過他了, 具體的介紹我就不多少了, 想了解的百度百科下說的很詳細。 之所以突然研究WebS...

    miracledan 評論0 收藏0
  • Java系統WebService:Spring與CXF的集成

    摘要:我們再使用這樣的來查看這個服務具體的定義這個用以通過查看服務也就是我們開頭所說的用通用格式來描述的功能入參和返回值,使我們的調用者明白服務的使用方法具體詳情可以查看我們的這個服務的頁面。 WebService是什么呢?顧名思義,是Web系統提供的服務,其目的呢,往大了說:是系統實現多異構模塊協同合作,服務實現SOA(Services oriented Architecture面向服務的...

    waterc 評論0 收藏0
  • 使用CXF搭建WebServices服務端

    摘要:使用創建工程,引入和,如下在中配置和創建要提供服務接口和實現接口類實現類配置文件注意引入和,然后添加要提供的接口信息全文如下配置完成后,部署到,啟動訪問即可看到服務已成功發布。客戶端實現見下文使用實現客戶端 1 使用Maven創建Java Web工程,引入cxf和spring,pom.xml如下 4.0.0 com.liubo test-cxf 0.0...

    hatlonely 評論0 收藏0
  • WebService就是這么簡單

    摘要:它使用方式,接收和響應外部系統的某種請求。回顧我們在學習基礎網絡編程章節已經知道了這么一個連接了。使用指定名稱的命名空間。名詞簡單對象訪問協議作為一個基于語言的協議用于有網上傳輸數據。以的根元素出現。代理這么一個概念就更加清晰了。 WebService介紹 首先我們來談一下為什么需要學習webService這樣的一個技術吧.... 問題一 如果我們的網站需要提供一個天氣預報這樣一個需求...

    SwordFly 評論0 收藏0

發表評論

0條評論

mingzhong

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<