簡體   English   中英

Apache Axis2 / Rampart + Maven

[英]Apache Axis2/Rampart + Maven

我們有一個maven集成測試 ,它使用帶有rampart的 axis2客戶端 rampart.mar被指定為pom中的依賴項,但maven並未將其包含在類路徑中。 軸需要mar來加載壁壘模塊。

有沒有人有辦法解決嗎?

pom.xml片段:

<dependency>
            <groupId>org.apache.rampart</groupId>
            <artifactId>rampart</artifactId>
            <version>1.4</version>
            <type>mar</type>
</dependency>

我使用了帶有以下pom提取的rampart-1.6.0的axis2-1.6.0:

<!-- axis2/axiom: dependencies -->
<dependency>
      <groupId>org.apache.axis2</groupId>
      <artifactId>axis2</artifactId>
      <version>${axis2.version}</version>
</dependency>
<dependency>  
   <groupId>org.apache.axis2</groupId>  
   <artifactId>axis2-transport-local</artifactId>  
   <version>${axis2.version}</version>  
</dependency>
<dependency>  
   <groupId>org.apache.axis2</groupId>  
   <artifactId>axis2-transport-http</artifactId>  
   <version>${axis2.version}</version>  
</dependency>         
<dependency>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-codegen</artifactId>
    <version>${axis2.version}</version>
    <scope>provided</scope>
</dependency>   

<!-- axis2-rampart: dependencies -->
<dependency>
    <groupId>org.apache.rampart</groupId>
    <artifactId>rampart-core</artifactId>
    <version>${axis2.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-jdk14</artifactId>
        </exclusion>
        <exclusion>
            <artifactId>log4j-over-slf4j</artifactId>
            <groupId>org.slf4j</groupId>
        </exclusion>
    </exclusions>
</dependency>
<!-- slf4j: dependencies -->
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>${slf4j.version}</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>${slf4j.version}</version>
  <!-- 
  <scope>runtime</scope>
  -->
</dependency> 
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>jcl-over-slf4j</artifactId>
  <version>${slf4j.version}</version>
</dependency>
<!-- log4j: dependencies -->
<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>${log4j.version}</version>
  <exclusions>
    <exclusion>
        <artifactId>jmxtools</artifactId>
        <groupId>com.sun.jdmk</groupId>
    </exclusion>
    <exclusion>
        <artifactId>jmxri</artifactId>
        <groupId>com.sun.jmx</groupId>
    </exclusion>
    <exclusion>
        <artifactId>mail</artifactId>
        <groupId>javax.mail</groupId>
    </exclusion>
    <exclusion>
        <artifactId>jms</artifactId>
        <groupId>javax.jms</groupId>
    </exclusion>
  </exclusions>
</dependency>

<properties>
<slf4j.version>1.6.3</slf4j.version>  
    <log4j.version>1.2.15</log4j.version>
    <axis2.version>1.6.0</axis2.version>
    <rampart.version>1.6.0</rampart.version>
</properties>

但是,在作為客戶端或服務器的服務使用中,您需要指定axis2-repository運行時位置。

        // get Modulrepository
        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem( AXIS2_REPOSITORY, null);

        // create new Stub
        Stub stub = createStub(ctx);

        // configure and engage Rampart
        ServiceClient client = stub._getServiceClient();


        Options options = client.getOptions();     

        // modify charset
        options.setProperty(org.apache.axis2.Constants.Configuration.CHARACTER_SET_ENCODING, charsetEncoding );


        // // modify endpoint
        // options.setTo(new org.apache.axis2.addressing.EndpointReference( ENDPOINT_LOCATION ));

        // modify policies
        Policy policy = loadPolicy(POLICY_FILE);
        client.getAxisService().getPolicySubject().attachPolicy(policy);

實際上我因為策略驗證更新而遇到了一些軸問題

保持並關注最終的stackoverflow錯誤。

http://www.slf4j.org/legacy.html jcl-over-slf4j.jar不應與slf4j-jcl.jar混淆

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM