[ http://issues.apache.org/jira/browse/AXIS2-771?page=all ]

Jörg Eichhorn updated AXIS2-771:
--------------------------------

    Attachment: SOAPElementImpl.diff

I experienced a similar problem that these additional namespaces are added when 
manually creating a SOAP message with the saaj implementation.
In the attached patch the creation of new child elements of a soap element is 
change to only create the element without passing the namespace uri to the 
getOwnerDocument().getElement... method.
The real namespace is already set afterwards.

I am not sure if this is a generic solution for AXIS2, but at least for my use 
case it works fine.

> Namespace handling in DOOM
> --------------------------
>
>          Key: AXIS2-771
>          URL: http://issues.apache.org/jira/browse/AXIS2-771
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug

>     Versions: 1.0
>     Reporter: Marcus Ludvigson
>     Assignee: Ruchith Udayanga Fernando
>     Priority: Blocker
>  Attachments: SOAPElementImpl.diff
>
> Eran Chinthaka  <[EMAIL PROTECTED]> to axis-user 
>  
> Seems like a bug in ns handling of DOOM. Can you please create a JIRA
> issue (http://issues.apache.org/jira/browse/AXIS2).
> -------------------------------
> Hi, 
>  
> I am executing a webservice with and without security turned on. The result 
> when executing the WS with security turned on is that I get excessive amount 
> of namespaces ( axis2ns23, axis2ns24, axis2ns25, etc) compared to executing 
> without security. I also get a ArrayIndexOutOfBoundsException the first time 
> running with security but it works if I run it again. 
>  
> Who is generating all of these namespaces, and can I do something to avoid it?
>  
> See info below.
>  
> Regards, 
> Marcus Ludvigson
>  
>  
> Result when executing without security: 
>  
> <listAllServicesResponse 
> xmlns="http://corp.net/ConfigManager/listAllServices";>
>   <service secure="false" servicename="Program"/> 
>   <service secure="false" servicename="Apps"/>
>   <service secure="false" servicename="ConfigManager"/>
>   <service secure="false" servicename="version"/> 
> </listAllServicesResponse>
>  
>  
> Result when executing with security:
>  
> <listAllServicesResponse 
> xmlns:axis2ns21="http://corp.net/ConfigManager/listAllServices"; xmlns:xenc=" 
> http://www.w3.org/2001/04/xmlenc#"; 
> xmlns:wsa="http://www.w3.org/2005/08/addressing"; xmlns:wsu=" 
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
>  xmlns="http://corp.net/ConfigManager/listAllServices"; xmlns:soapenv=" 
> http://schemas.xmlsoap.org/soap/envelope/";>
>   <service secure="false" servicename="Program" xmlns:axis2ns22=" 
> http://corp.net/ConfigManager/listAllServices"/>
>   <service secure="false" servicename="Apps" 
> xmlns:axis2ns23="http://corp.net/ConfigManager/listAllServices"/ >
>   <service secure="true" servicename="ConfigManager" 
> xmlns:axis2ns24="http://corp.net/ConfigManager/listAllServices"/ >
> </listAllServicesResponse>
>  
>  
> Relevant part from the WSDL:
>  
> <xs:schema targetNamespace="http://corp.net/ConfigManager/listAllServices"; 
> elementFormDefault="qualified">
>    <xs:element name="listAllServicesResponse"> 
>     <xs:complexType>
>      <xs:sequence>
>       <xs:element name="service" maxOccurs="unbounded" >
>        <xs:complexType>
>         <xs:attribute name="servicename" type="xs:string" /> 
>         <xs:attribute name="secure" type="xs:boolean" />
>        </xs:complexType>
>       </xs:element>
>      </xs:sequence>
>     </xs:complexType>
>    </xs:element> 
>  </xs:schema>
>  
>  
> ArrayIndexOutOfBounds:
>  
> SymbMap.index(Object) line: not available
> SymbMap.get(String) line: not available
> NameSpaceSymbTable.addMapping(String, String, Attr) line: not available
> Canonicalizer20010315ExclOmitComments(Canonicalizer20010315Excl).handleAttributesSubtree(Element,
>  NameSpaceSymbTable) line: not available 
> Canonicalizer20010315ExclOmitComments(CanonicalizerBase).canonicalizeSubTree(Node,
>  NameSpaceSymbTable, Node) line: not available
> Canonicalizer20010315ExclOmitComments(CanonicalizerBase).engineCanonicalizeSubTree(Node,
>  Node) line: not available 
> Canonicalizer20010315ExclOmitComments(CanonicalizerBase).engineCanonicalize(XMLSignatureInput)
>  line: not available
> Canonicalizer20010315ExclOmitComments(Canonicalizer20010315Excl).engineCanonicalize(XMLSignatureInput,
>  String) line: not available 
> TransformC14NExclusive.enginePerformTransform(XMLSignatureInput, 
> OutputStream) line: not available
> Transform.performTransform(XMLSignatureInput, OutputStream) line: not 
> available
> Transforms.performTransforms(XMLSignatureInput, OutputStream) line: not 
> available 
> Reference.getContentsAfterTransformation(XMLSignatureInput, OutputStream) 
> line: not available
> Reference.dereferenceURIandPerformTransforms(OutputStream) line: not available
> Reference.calculateDigest() line: not available 
> Reference.verify() line: not available
> SignedInfo(Manifest).verifyReferences(boolean) line: not available
> SignedInfo.verify(boolean) line: not available
> XMLSignature.checkSignatureValue(Key) line: not available 
> XMLSignature.checkSignatureValue(X509Certificate) line: not available
> SignatureProcessor.verifyXMLSignature(Element, Crypto, X509Certificate[], 
> Set, byte[][]) line: 264
> SignatureProcessor.handleToken(Element, Crypto, Crypto, CallbackHandler, 
> WSDocInfo, Vector, WSSConfig) line: 79 
> WSSecurityEngine.processSecurityHeader(Element, CallbackHandler, Crypto, 
> Crypto) line: 269
> WSSecurityEngine.processSecurityHeader(Document, String, CallbackHandler, 
> Crypto, Crypto) line: 191
> WSDoAllReceiver.processMessage (MessageContext) line: 180
> WSDoAllReceiver(WSDoAllHandler).invoke(MessageContext) line: 82

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to