You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2018/01/07 21:12:45 UTC

svn commit: r1820500 - in /axis/axis2/java/core/scratch/java/veithen/AXIS2-5904: ./ keys/ src/ src/main/ src/main/java/ src/main/resources/ src/test/ src/test/java/ src/test/java/tn/ src/test/java/tn/nat/ src/test/java/tn/nat/cnss/ src/test/java/tn/nat...

Author: veithen
Date: Sun Jan  7 21:12:45 2018
New Revision: 1820500

URL: http://svn.apache.org/viewvc?rev=1820500&view=rev
Log:
Minimal test case for AXIS2-5904.

Added:
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/   (with props)
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/keys/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/keys/client.jks   (with props)
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/keys/service.jks   (with props)
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/pom.xml   (with props)
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/main/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/main/java/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/main/resources/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/ServiceTest.java   (with props)
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/tn/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/tn/nat/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/tn/nat/cnss/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/tn/nat/cnss/client/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/tn/nat/cnss/client/PasswordCallBackHandler.java   (with props)
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/resources/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/wsdl/
    axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/wsdl/service.wsdl

Propchange: axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Jan  7 21:12:45 2018
@@ -0,0 +1,4 @@
+.classpath
+.project
+.settings
+target

Added: axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/keys/client.jks
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/keys/client.jks?rev=1820500&view=auto
==============================================================================
Binary file - no diff available.

Propchange: axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/keys/client.jks
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/keys/service.jks
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/keys/service.jks?rev=1820500&view=auto
==============================================================================
Binary file - no diff available.

Propchange: axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/keys/service.jks
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/pom.xml?rev=1820500&view=auto
==============================================================================
--- axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/pom.xml (added)
+++ axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/pom.xml Sun Jan  7 21:12:45 2018
@@ -0,0 +1,81 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>local</groupId>
+    <artifactId>AXIS2-5904</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-kernel</artifactId>
+            <version>1.8.0-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-adb</artifactId>
+            <version>1.8.0-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-testutils</artifactId>
+            <version>1.8.0-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.rampart</groupId>
+            <artifactId>rampart-core</artifactId>
+            <version>1.8.0-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.rampart</groupId>
+            <artifactId>rampart</artifactId>
+            <version>1.8.0-SNAPSHOT</version>
+            <type>mar</type>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.axis2</groupId>
+                <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
+                <version>1.8.0-SNAPSHOT</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generate-test-sources</goal>
+                        </goals>
+                        <configuration>
+                            <wsdlFile>src/test/wsdl/service.wsdl</wsdlFile>
+                            <databindingName>adb</databindingName>
+                            <syncMode>sync</syncMode>
+                            <unpackClasses>true</unpackClasses>
+                            <generateServerSide>true</generateServerSide>
+                            <generateServerSideInterface>true</generateServerSideInterface>
+                            <generateServicesXml>true</generateServicesXml>
+                            <generateAllClasses>true</generateAllClasses>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.axis2</groupId>
+                <artifactId>axis2-repo-maven-plugin</artifactId>
+                <version>1.8.0-SNAPSHOT</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>create-test-repository</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/client-repo</outputDirectory>
+                            <generatedAxis2xml/>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
\ No newline at end of file

Propchange: axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/ServiceTest.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/ServiceTest.java?rev=1820500&view=auto
==============================================================================
--- axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/ServiceTest.java (added)
+++ axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/ServiceTest.java Sun Jan  7 21:12:45 2018
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import java.net.ConnectException;
+import java.util.Properties;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.neethi.Policy;
+import org.apache.rampart.policy.model.CryptoConfig;
+import org.apache.rampart.policy.model.RampartConfig;
+import org.junit.Test;
+
+import tn.nat.cnss.service.io.xsd.ArrayOfString;
+import tn.nat.cnss.service.io.xsd.ServiceRequest;
+import tn.nat.cnss.service.logic.DoTheJob;
+import tn.nat.cnss.service.logic.DoTheJobResponse;
+import tn.nat.cnss.service.logic.Sample2SignBodyServiceSSLStub;
+
+public class ServiceTest {
+    @Test
+    public void test() throws Exception {
+        for (int i=0; i<100; i++) {
+            System.setProperty("javax.net.ssl.trustStore", "trust-store/server.jks");
+            System.setProperty("javax.net.ssl.trustStorePassword", "password");
+            
+            ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem("target/client-repo", null);
+            
+            Sample2SignBodyServiceSSLStub stub = new Sample2SignBodyServiceSSLStub(ctx,"https://localhost:8443/axis2/services/Sample2SignBodyServiceSSL");
+            
+            ServiceClient sc = stub._getServiceClient();
+            
+            sc.engageModule("rampart");
+            
+            Policy rampartConfig = getRampartConfig();
+            sc.getAxisService().getPolicySubject().attachPolicy(rampartConfig);
+            
+            ServiceRequest req = new ServiceRequest();
+            
+            req.setParam1("0");
+            req.setParam2("99999");
+            req.setParam3("99999");
+    
+            
+            DoTheJob d = new DoTheJob();
+            d.setServiceRequest(req);
+            try {
+                DoTheJobResponse resp = stub.doTheJob(d);
+                
+                System.out.println(resp.get_return().getResult());
+                System.out.println("Nombre de colonnes: " + resp.get_return().getNumberColumns());
+                System.out.println("Nombre de lignes: " + resp.get_return().getNumberLines());
+                for (ArrayOfString array : resp.get_return().getDataSet())
+                {
+                    for (String s : array.getArray())
+                    {
+                        System.out.print(s + "\t");
+                    }
+                    System.out.println();
+                }
+            } catch (AxisFault ex) {
+                if (ex.getCause() instanceof ConnectException) {
+                    System.out.println("Success");
+                } else {
+                    throw ex;
+                }
+            }
+            
+            stub.cleanup();
+        }
+    }
+
+    private static Policy getRampartConfig()
+    {
+        RampartConfig rampartConfig = new RampartConfig();
+        rampartConfig.setUser("clientkey");
+        rampartConfig.setPwCbClass("tn.nat.cnss.client.PasswordCallBackHandler");
+        
+        CryptoConfig sigCrypto = new CryptoConfig();
+        
+        sigCrypto.setProvider("org.apache.ws.security.components.crypto.Merlin");
+        
+        Properties props = new Properties();
+        props.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "JKS");
+        props.setProperty("org.apache.ws.security.crypto.merlin.file","keys/client.jks");
+        props.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "clientStorePW");
+            
+        sigCrypto.setProp(props);
+        
+        rampartConfig.setSigCryptoConfig(sigCrypto);
+        
+        Policy policy = new Policy();
+        policy.addAssertion(rampartConfig);
+        
+        return policy;  
+    }
+}

Propchange: axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/ServiceTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/tn/nat/cnss/client/PasswordCallBackHandler.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/tn/nat/cnss/client/PasswordCallBackHandler.java?rev=1820500&view=auto
==============================================================================
--- axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/tn/nat/cnss/client/PasswordCallBackHandler.java (added)
+++ axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/tn/nat/cnss/client/PasswordCallBackHandler.java Sun Jan  7 21:12:45 2018
@@ -0,0 +1,24 @@
+package tn.nat.cnss.client;
+
+import org.apache.ws.security.WSPasswordCallback;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
+import java.io.IOException;
+
+public class PasswordCallBackHandler implements CallbackHandler
+{
+	public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException
+	{
+		for (int i = 0; i < callbacks.length; i++)
+		{
+			WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
+			
+			if(pwcb.getIdentifier().equals("clientkey"))
+			{
+				pwcb.setPassword("clientPW");
+				return;
+			}
+		}
+	}
+}

Propchange: axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/java/tn/nat/cnss/client/PasswordCallBackHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/wsdl/service.wsdl
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/wsdl/service.wsdl?rev=1820500&view=auto
==============================================================================
--- axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/wsdl/service.wsdl (added)
+++ axis/axis2/java/core/scratch/java/veithen/AXIS2-5904/src/test/wsdl/service.wsdl Sun Jan  7 21:12:45 2018
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://logic.service.cnss.nat.tn" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ax21="http://io.service.cnss.nat.tn/xsd" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" targetNamespace="http://logic.service.cnss.nat.tn">
+    <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="SignBody">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                    <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+                        <sp:InitiatorToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:InitiatorToken>
+                        <sp:RecipientToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:RecipientToken>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:TripleDesRsa15/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Strict/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:OnlySignEntireHeadersAndBody/>
+                    </wsp:Policy>
+                </sp:AsymmetricBinding>
+                <sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                    <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+                        <sp:MustSupportRefKeyIdentifier/>
+                        <sp:MustSupportRefIssuerSerial/>
+                    </wsp:Policy>
+                </sp:Wss10>
+                <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                    <sp:Body/>
+                </sp:SignedParts>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsdl:documentation>
+		A Toy Sample Service with Body Signature (over SSL)
+	</wsdl:documentation>
+    <wsdl:types>
+        <xs:schema xmlns:ax22="http://io.service.cnss.nat.tn/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://logic.service.cnss.nat.tn">
+            <xs:import namespace="http://io.service.cnss.nat.tn/xsd"/>
+            <xs:element name="doTheJob">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="serviceRequest" nillable="true" type="ax22:ServiceRequest"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="doTheJobResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax22:ServiceResponse"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+        </xs:schema>
+        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://io.service.cnss.nat.tn/xsd">
+            <xs:complexType name="ServiceRequest">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="param1" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="param2" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="param3" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="ServiceResponse">
+                <xs:sequence>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="dataSet" nillable="true" type="ax21:ArrayOfString"/>
+                    <xs:element minOccurs="0" name="numberColumns" nillable="true" type="xs:int"/>
+                    <xs:element minOccurs="0" name="numberLines" nillable="true" type="xs:int"/>
+                    <xs:element minOccurs="0" name="result" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="ArrayOfString">
+                <xs:sequence>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="array" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+        </xs:schema>
+    </wsdl:types>
+    <wsdl:message name="doTheJobRequest">
+        <wsdl:part name="parameters" element="ns:doTheJob"/>
+    </wsdl:message>
+    <wsdl:message name="doTheJobResponse">
+        <wsdl:part name="parameters" element="ns:doTheJobResponse"/>
+    </wsdl:message>
+    <wsdl:portType xmlns:wsp="http://www.w3.org/ns/ws-policy" name="Sample2SignBodyServiceSSLPortType" wsp:PolicyURIs="#SignBody">
+        <wsdl:operation name="doTheJob">
+            <wsdl:input message="ns:doTheJobRequest" wsaw:Action="urn:doTheJob"/>
+            <wsdl:output message="ns:doTheJobResponse" wsaw:Action="urn:doTheJobResponse"/>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="Sample2SignBodyServiceSSLSoap11Binding" type="ns:Sample2SignBodyServiceSSLPortType">
+        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+        <wsdl:operation name="doTheJob">
+            <soap:operation soapAction="urn:doTheJob" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="Sample2SignBodyServiceSSLSoap12Binding" type="ns:Sample2SignBodyServiceSSLPortType">
+        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+        <wsdl:operation name="doTheJob">
+            <soap12:operation soapAction="urn:doTheJob" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="Sample2SignBodyServiceSSLHttpBinding" type="ns:Sample2SignBodyServiceSSLPortType">
+        <http:binding verb="POST"/>
+        <wsdl:operation name="doTheJob">
+            <http:operation location="doTheJob"/>
+            <wsdl:input>
+                <mime:content type="application/xml" part="parameters"/>
+            </wsdl:input>
+            <wsdl:output>
+                <mime:content type="application/xml" part="parameters"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="Sample2SignBodyServiceSSL">
+        <wsdl:port name="Sample2SignBodyServiceSSLHttpSoap11Endpoint" binding="ns:Sample2SignBodyServiceSSLSoap11Binding">
+            <soap:address location="http://localhost:8080/axis2/services/Sample2SignBodyServiceSSL.Sample2SignBodyServiceSSLHttpSoap11Endpoint/"/>
+        </wsdl:port>
+        <wsdl:port name="Sample2SignBodyServiceSSLHttpSoap12Endpoint" binding="ns:Sample2SignBodyServiceSSLSoap12Binding">
+            <soap12:address location="http://localhost:8080/axis2/services/Sample2SignBodyServiceSSL.Sample2SignBodyServiceSSLHttpSoap12Endpoint/"/>
+        </wsdl:port>
+        <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="SignBody">
+            <wsp:ExactlyOne>
+                <wsp:All>
+                    <sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                        <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+                            <sp:InitiatorToken>
+                                <wsp:Policy>
+                                    <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
+                                        <wsp:Policy>
+                                            <sp:WssX509V3Token10/>
+                                        </wsp:Policy>
+                                    </sp:X509Token>
+                                </wsp:Policy>
+                            </sp:InitiatorToken>
+                            <sp:RecipientToken>
+                                <wsp:Policy>
+                                    <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
+                                        <wsp:Policy>
+                                            <sp:WssX509V3Token10/>
+                                        </wsp:Policy>
+                                    </sp:X509Token>
+                                </wsp:Policy>
+                            </sp:RecipientToken>
+                            <sp:AlgorithmSuite>
+                                <wsp:Policy>
+                                    <sp:TripleDesRsa15/>
+                                </wsp:Policy>
+                            </sp:AlgorithmSuite>
+                            <sp:Layout>
+                                <wsp:Policy>
+                                    <sp:Strict/>
+                                </wsp:Policy>
+                            </sp:Layout>
+                            <sp:IncludeTimestamp/>
+                            <sp:OnlySignEntireHeadersAndBody/>
+                        </wsp:Policy>
+                    </sp:AsymmetricBinding>
+                    <sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                        <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+                            <sp:MustSupportRefKeyIdentifier/>
+                            <sp:MustSupportRefIssuerSerial/>
+                        </wsp:Policy>
+                    </sp:Wss10>
+                    <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                        <sp:Body/>
+                    </sp:SignedParts>
+                </wsp:All>
+            </wsp:ExactlyOne>
+        </wsp:Policy>
+        <wsdl:port name="Sample2SignBodyServiceSSLHttpEndpoint" binding="ns:Sample2SignBodyServiceSSLHttpBinding">
+            <http:address location="http://localhost:8080/axis2/services/Sample2SignBodyServiceSSL.Sample2SignBodyServiceSSLHttpEndpoint/"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>