[英]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.