You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by "Ruchith Udayanga Fernando (JIRA)" <ji...@apache.org> on 2007/08/06 08:53:59 UTC

[jira] Resolved: (RAMPART-24) Axis2: Security phase (Rampart) alters response

     [ https://issues.apache.org/jira/browse/RAMPART-24?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ruchith Udayanga Fernando resolved RAMPART-24.
----------------------------------------------

    Resolution: Fixed

Axis2 was updated to fix this issue with the ADB changes

> Axis2: Security phase (Rampart) alters response
> -----------------------------------------------
>
>                 Key: RAMPART-24
>                 URL: https://issues.apache.org/jira/browse/RAMPART-24
>             Project: Rampart
>          Issue Type: Bug
>         Environment: Windows XP, Tomcat 5.5 & WebSphere 5.1
>            Reporter: Torben Riis
>
> I have registered a strange behaviour with Axis2 1.1.1 and rampart 1.1. It seams like rampart alters the soap body response.
> Below are two soap response messages, taken with soapUI. One with Rampart enabled and one without. As you can see the elements in 
> RetrieveFolderURIResponse isn't the same.
> Response without Rampart
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <ns2:RetrieveFolderURIResponse xmlns:ns2="http://www.multi-support.com/URIService/types">
>          <myUrl>www.mrtg.org</myUrl>
>          <uri>www.google.com</uri>
>          <some>mytest</some>
>       </ns2:RetrieveFolderURIResponse>
>    </soapenv:Body>
> </soapenv:Envelope>
> Response with rampart enabled
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <ns2:RetrieveFolderURIResponse xmlns:ns2="http://www.multi-support.com/URIService/types">
>          <myUrl>www.mrtg.org</myUrl>
>          <ns1:URI xmlns:ns1="http://www.multi-support.com/xsd/matypes">www.google.com</ns1:URI>
>          <ns2:MyTest>mytest</ns2:MyTest>
>       </ns2:RetrieveFolderURIResponse>
>    </soapenv:Body>
> </soapenv:Envelope>
> If we look at the definition in the wsdl, it looks like element types from RetrieveFolderURIResponse is used as element name
> in the response when rampart is enabled. But only for types referring to simple and complex types.
> URIService.wsdl
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions name="URIService"
> 	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> 	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> 	targetNamespace="http://www.multi-support.com/URIService/"
> 	xmlns:ma="http://www.multi-support.com/URIService/types"
> 	xmlns:mau="http://www.multi-support.com/URIService/"
> 	xmlns:mat="http://www.multi-support.com/xsd/matypes"
> 	xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> 	<wsdl:types>
> 		<xsd:schema
> 			targetNamespace="http://www.multi-support.com/URIService/types"
> 			xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> 			<xsd:import
> 				namespace="http://www.multi-support.com/xsd/matypes"
> 				schemaLocation="maTypes.xsd" />
> 			<xsd:simpleType name="MyTest">
> 				<xsd:restriction base="xsd:string"></xsd:restriction>
> 			</xsd:simpleType>
> 			<xsd:element name="RetrieveFolderURIRequest"
> 				nillable="false">
> 				<xsd:annotation>
> 					<xsd:documentation>
> 						Input parameter is an element consisting of the
> 						following elements: &lt;br&gt;
> 						Archive - Identification of Archive. &lt;br&gt;
> 						Folder - Archive folder path for folder where
> 						items are filed in MultiArchive. &lt;br&gt;
> 					</xsd:documentation>
> 				</xsd:annotation>
> 				<xsd:complexType>
> 					<xsd:sequence minOccurs="1" maxOccurs="1">
> 						<xsd:element name="archive"
> 							type="mat:ArchiveName" nillable="false" maxOccurs="1"
> 							minOccurs="1">
> 						</xsd:element>
> 						<xsd:element name="folder"
> 							type="mat:FilingFolderPath" maxOccurs="1" minOccurs="1">
> 						</xsd:element>
> 					</xsd:sequence>
> 				</xsd:complexType>
> 			</xsd:element>
> 			<xsd:element name="RetrieveFolderURIResponse">
> 				<xsd:complexType>
> 					<xsd:sequence>
> 						<xsd:element name="myUrl" type="xsd:string" />
> 						<xsd:element name="uri" type="mat:URI"/>
> 						<xsd:element name="some" type="ma:MyTest"/>
> 					</xsd:sequence>
> 				</xsd:complexType>
> 			</xsd:element>
> 			<xsd:element name="RetrieveFolderURIFault">
> 				<xsd:annotation>
> 					<xsd:documentation>
> 						RetrieveFolderURIException is fault thrown when
> 						some error has occured during execution of web
> 						service. &lt;br&gt; Error code and message can
> 						be resolved from fault.
> 					</xsd:documentation>
> 				</xsd:annotation>
> 				<xsd:complexType>
> 					<xsd:sequence>
> 						<xsd:element name="reasonCode" type="xsd:int">
> 							<xsd:annotation>
> 								<xsd:documentation>
> 									Error code, identifying type of
> 									error when generating a URI for an
> 									archive folder.
> 								</xsd:documentation>
> 							</xsd:annotation>
> 						</xsd:element>
> 						<xsd:element name="description"
> 							type="xsd:string">
> 							<xsd:annotation>
> 								<xsd:documentation>
> 									Description of the error code.
> 								</xsd:documentation>
> 							</xsd:annotation>
> 						</xsd:element>
> 					</xsd:sequence>
> 				</xsd:complexType>
> 			</xsd:element>
> 		</xsd:schema>
> 	</wsdl:types>
> 	<wsdl:message name="RetrieveFolderURIResponse">
> 		<wsdl:documentation>
> 			Output parameter is the generated uri for the MultiArchive
> 			archive folder.
> 		</wsdl:documentation>
> 		<wsdl:part element="ma:RetrieveFolderURIResponse"
> 			name="RetrieveFolderURIResponse">
> 			<wsdl:documentation>
> 				Element containing generated folder uri.
> 			</wsdl:documentation>
> 		</wsdl:part>
> 	</wsdl:message>
> 	<wsdl:message name="RetrieveFolderURIRequest">
> 		<wsdl:documentation>
> 			Input parameter is an element consisting of an element
> 			containing archive and archive folder path.
> 		</wsdl:documentation>
> 		<wsdl:part element="ma:RetrieveFolderURIRequest"
> 			name="RetrieveFolderURIRequest">
> 			<wsdl:documentation>
> 				Input parameter is an element consisting of the
> 				following elements: &lt;br&gt; Archive - Identification
> 				of Archive. &lt;br&gt; Archive folder path. &lt;br&gt;
> 			</wsdl:documentation>
> 		</wsdl:part>
> 	</wsdl:message>
> 	<wsdl:message name="RetrieveFolderURIFault">
> 		<wsdl:documentation>
> 			RetrieveFolderURIFault is returned when some error has
> 			occurred during generation of folder uri.
> 		</wsdl:documentation>
> 		<wsdl:part name="RetrieveFolderURIFault"
> 			element="ma:RetrieveFolderURIFault">
> 			<wsdl:documentation>
> 				RetrieveFolderURIFault is fault thrown when some error
> 				has occurred during execution of web service. &lt;br&gt;
> 				Error code and message can be resolved from fault.
> 			</wsdl:documentation>
> 		</wsdl:part>
> 	</wsdl:message>
> 	<wsdl:portType name="URIService">
> 		<wsdl:documentation>
> 			SOAP Web Service for generation of URI's for specific
> 			MultiArchive components.
> 		</wsdl:documentation>
> 		<wsdl:operation name="retrieveFolderURI">
> 			<wsdl:documentation>
> 				The invocation of retrieveFolderURI generates given
> 				archive folder path, a URI which can be used to invoke
> 				that that folder in MultiArchive.
> 			</wsdl:documentation>
> 			<wsdl:input message="mau:RetrieveFolderURIRequest">
> 				<wsdl:documentation></wsdl:documentation>
> 			</wsdl:input>
> 			<wsdl:output message="mau:RetrieveFolderURIResponse" />
> 			<wsdl:fault name="RetrieveFolderURIFault"
> 				message="mau:RetrieveFolderURIFault">
> 			</wsdl:fault>
> 		</wsdl:operation>
> 	</wsdl:portType>
> 	<wsdl:binding name="URIServiceSOAP" type="mau:URIService">
> 		<wsdl:documentation>
> 			SOAP binding for the MultiArchive Component URI generation
> 			service.
> 		</wsdl:documentation>
> 		<soap:binding style="document"
> 			transport="http://schemas.xmlsoap.org/soap/http" />
> 		<wsdl:operation name="retrieveFolderURI">
> 			<wsdl:documentation>
> 				Use retrieveFolderURI to generate a uri, which can be
> 				used for accessing a specific archive folder in
> 				MultiArchive.
> 			</wsdl:documentation>
> 			<soap:operation soapAction="retrieveFolderURI" />
> 			<wsdl:input>
> 				<soap:body use="literal" />
> 			</wsdl:input>
> 			<wsdl:output>
> 				<soap:body use="literal" />
> 			</wsdl:output>
> 			<wsdl:fault name="RetrieveFolderURIFault">
> 				<soap:fault name="RetrieveFolderURIFault" use="literal" />
> 			</wsdl:fault>
> 		</wsdl:operation>
> 	</wsdl:binding>
> 	<wsdl:service name="URIService">
> 		<wsdl:documentation>
> 			SOAP Web Service for generation of URI's for specific
> 			MultiArchive Component.
> 		</wsdl:documentation>
> 		<wsdl:port binding="mau:URIServiceSOAP" name="URIServicePort">
> 			<wsdl:documentation>
> 				SOAP Web Service for generation of URI's for specific
> 				MultiArchive Component.
> 			</wsdl:documentation>
> 			<soap:address
> 				location="http://www.multi-support.com/multiarchive/services" />
> 		</wsdl:port>
> 	</wsdl:service>
> </wsdl:definitions>
> maTypes.xsd
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- Change Log -->
> <!-- 24.10.2006 Multi-Support R&D A/S XSD Developed. -->
>  
> <xsd:schema targetNamespace="http://www.multi-support.com/xsd/matypes"
> 	elementFormDefault="qualified" version="1.0"
> 	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> 	xmlns:mat="http://www.multi-support.com/xsd/matypes">
>     <xsd:annotation>
>     	<xsd:documentation>This Schema contains definitions for common types used by MultiArchive Web Services.</xsd:documentation>
>     </xsd:annotation>
>     
>     <xsd:simpleType name="ArchiveName">
> 		<xsd:annotation>
> 			<xsd:documentation>
> 				Identification of an archive in MultiArchive.
> 			</xsd:documentation>
> 		</xsd:annotation>
> 		<xsd:restriction base="xsd:string">
> 			<xsd:minLength value="1"></xsd:minLength>
> 			<xsd:maxLength value="5"></xsd:maxLength>
> 		</xsd:restriction>
> 	</xsd:simpleType>
> 	<xsd:simpleType name="FilingFolderPath">
> 		<xsd:annotation>
> 			<xsd:documentation>
> 				Folder path for MultiArchive filing. 
> 			</xsd:documentation>
> 		</xsd:annotation>
> 		<xsd:restriction base="xsd:string">
> 			<xsd:minLength value="1"></xsd:minLength>
> 		</xsd:restriction>
> 	</xsd:simpleType>
> 	<xsd:simpleType name="URI">
> 		<xsd:annotation>
> 			<xsd:documentation>
> 				URI for MultiArchive Component.
> 			</xsd:documentation>
> 		</xsd:annotation>
> 		<xsd:restriction base="xsd:string"></xsd:restriction>
> 	</xsd:simpleType>
> </xsd:schema>
> services.xml
> <!-- This file was auto-generated from WSDL -->
> <!-- by the Apache Axis2 version: #axisVersion# #today# -->
> <serviceGroup>
> 	<service name="URIService">
> 		<messageReceivers>
> 			<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
> 				class="com.multisupport.maservices.uriservice.URIServiceMessageReceiverInOut" />
> 		</messageReceivers>
> 		<parameter locked="false" name="ServiceClass">
> 			com.multisupport.maservices.uriservice.URIServiceSkeleton
> 		</parameter>
> 		<operation name="retrieveFolderURI"
> 			mep="http://www.w3.org/2004/08/wsdl/in-out">
> 			<actionMapping>retrieveFolderURI</actionMapping>
> 			<outputActionMapping>
> 				http://www.multi-support.com/URIService/URIService/retrieveFolderURIResponse
> 			</outputActionMapping>
> 			<faultActionMapping faultName="RetrieveFolderURIFault">
> 				http://www.multi-support.com/URIService/URIService/retrieveFolderURI/Fault/RetrieveFolderURIFault
> 			</faultActionMapping>
> 		</operation>
> 		<module ref="rampart" />
> 	
> 		<parameter name="InflowSecurity">
>     		<action>
> 	        	<items>UsernameToken</items>
> 				<passwordCallbackClass>com.multisupport.maservices.PWCBHandler</passwordCallbackClass>
>       		</action>		
> 		</parameter> 
> 	</service>
> </serviceGroup>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.