Re: WS-Policy issues when upgrading from Axis2 1.6.0 to Axis2 1.6.2

Andreas Veithen <[email protected]>
Newsgroups gmane.text.xml.axis.user
Message-ID <CADx4_uXUc46ztxV9Ei1=H9zmWi3brcQzqFB-g4M-RrhLxuVj5g@mail.gmail.com>
That is a variant of AXIOM-401 [1]. The NullPointerException only
occurs with ancient versions of BEA's StAX implementation. Either use
Woodstox as StAX implementation or try to upgrade Axiom to 1.2.14.

Andreas

[1] https://issues.apache.org/jira/browse/AXIOM-401

On Mon, Feb 25, 2013 at 11:54 PM, Shah, Sumit (CGI Federal)
<[email protected]> wrote:
> Hello,
>
>
>
> I am running into WS Policy parsing issues when upgrading Axis2 from 1.6.0
> to 1.6.2. The policies that successfully load (via
> WSDL11ToAxisServiceBuilder.processPoliciesInDefintion) in version 1.6.0 do
> not work when I go to 1.6.2. I do notice that in 1.6.2, Axis now uses
> PolicyBuilder (Neethi) which was not the case in 1.6.0. Is there any change
> with respect to policy parsing that I should  be aware of? I would
> appreciate any help.
>
>
>
> Here is the stack trace:
>
>
>
> Caused by: java.lang.NullPointerException
>
>         at
> org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.getEventType(XMLStreamReaderWrapper.java:108)
>
>         at
> org.apache.axiom.util.stax.dialect.BEAStreamReaderWrapper.getEncoding(BEAStreamReaderWrapper.java:90)
>
>         at
> org.apache.axiom.om.impl.builder.StAXBuilder.<init>(StAXBuilder.java:125)
>
>         at
> org.apache.axiom.om.impl.builder.StAXOMBuilder.<init>(StAXOMBuilder.java:104)
>
>         at
> org.apache.axiom.om.impl.llom.factory.AbstractOMMetaFactory.createOMBuilder(AbstractOMMetaFactory.java:103)
>
>         at
> org.apache.axiom.om.OMXMLBuilderFactory.createOMBuilder(OMXMLBuilderFactory.java:295)
>
>         at
> org.apache.neethi.builders.converters.DOMToOMConverter.convert(DOMToOMConverter.java:36)
>
>         at
> org.apache.neethi.builders.converters.DOMToOMConverter.convert(DOMToOMConverter.java:32)
>
>         at
> org.apache.neethi.builders.converters.ConverterRegistry.convert(ConverterRegistry.java:159)
>
>         at
> org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(AssertionBuilderFactoryImpl.java:135)
>
>         at
> org.apache.neethi.AssertionBuilderFactoryImpl.build(AssertionBuilderFactoryImpl.java:117)
>
>         at
> org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:224)
>
>         at
> org.apache.neethi.PolicyBuilder.getAllOperator(PolicyBuilder.java:184)
>
>         at
> org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:217)
>
>         at
> org.apache.neethi.PolicyBuilder.getExactlyOneOperator(PolicyBuilder.java:180)
>
>         at
> org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:215)
>
>         at
> org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
>
>         at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:124)
>
>         at org.apache.neethi.PolicyEngine.getPolicy(PolicyEngine.java:111)
>
>         at
> org.apache.axis2.util.PolicyUtil.getPolicyComponent(PolicyUtil.java:173)
>
>         at
> org.apache.axis2.description.WSDL11ToAxisServiceBuilder.processPoliciesInDefintion(WSDL11ToAxisServiceBuilder.java:3120)
>
>         at
> org.apache.axis2.description.WSDL11ToAxisServiceBuilder.processPoliciesInDefintion(WSDL11ToAxisServiceBuilder.java:3098)
>
>         at
> org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(WSDL11ToAxisServiceBuilder.java:374)
>
>         at
> org.apache.axis2.description.AxisService.createClientSideAxisService(AxisService.java:2369)
>
>         at
> org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:211)
>
>
>
> This is a sample services file. I am only showing a single operation, but I
> have multiple operations, each with its own policy:
>
> <service name="WSSecurityTestService"
> targetNamespace="http://wssecuritytest.impl.webservices.test.com">
>
>   <schema
> schemaNamespace="http://wssecuritytest.impl.webservices.test.com"/>
>
>   <parameter
> name="ServiceClass">com.test.webservices.impl.wssecuritytest.WSSecurityTestService</parameter>
>
>   <parameter name="useOriginalwsdl">true</parameter>
>
>   <parameter name="wsdlFile">WSSecurityTestService.wsdl</parameter>
>
>   <parameter name="modifyUserWSDLPortAddress">true</parameter>
>
>   <module ref="addressing"/>
>
>   <messageReceivers>
>
>     <messageReceiver
> class="com.test.webservices.receivers.JAXBInOnlyMessageReceiver"
> mep="http://www.w3.org/ns/wsdl/in-only"/>
>
>     <messageReceiver
> class="com.test.webservices.receivers.JAXBInOnlyMessageReceiver"
> mep="http://www.w3.org/ns/wsdl/robust-in-only"/>
>
>     <messageReceiver
> class="com.test.webservices.receivers.JAXBMessageReceiver"
> mep="http://www.w3.org/ns/wsdl/in-out"/>
>
>   </messageReceivers>
>
> <operation mep="http://www.w3.org/ns/wsdl/in-out"
> name="testSAMLTokenSignedNoFault">
>
>
> <actionMapping>urn:test:WSSecurityTestService#testSAMLTokenSignedNoFault</actionMapping>
>
>
> <outputActionMapping>urn:testSAMLTokenSignedNoFaultResponse</outputActionMapping>
>
>     <faultActionMapping
> faultName="RecoverableFault">urn:testSAMLTokenSignedNoFaultRecoverableFault</faultActionMapping>
>
>     <faultActionMapping
> faultName="UnrecoverableFault">urn:testSAMLTokenSignedNoFaultUnrecoverableFault</faultActionMapping>
>
>     <messageReceiver
> class="com.test.webservices.receivers.JAXBMessageReceiver"
> mep="http://www.w3.org/ns/wsdl/in-out"/>
>
>     <module ref="rampart"/>
>
>     <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="SAMLPolicy">
>
>       <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/AlwaysToRecipient">
>
>                     <wsp:Policy>
>
>                       <sp:RequireThumbprintReference/>
>
>                       <sp:WssX509V1Token10/>
>
>                     </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:RequireThumbprintReference/>
>
>                       <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>
>
>           <rampart:RampartConfig
> xmlns:rampart="http://ws.apache.org/rampart/policy">
>
>             <rampart:user>interca</rampart:user>
>
>
> <rampart:passwordCallbackClass>com.test.security2.webservices.WSS4JPWCallback</rampart:passwordCallbackClass>
>
>
> <rampart:timestampPrecisionInMilliseconds>true</rampart:timestampPrecisionInMilliseconds>
>
>             <rampart:timestampTTL>300</rampart:timestampTTL>
>
>             <rampart:timestampMaxSkew>300</rampart:timestampMaxSkew>
>
>             <rampart:nonceLifeTime>300</rampart:nonceLifeTime>
>
>             <rampart:signatureCrypto>
>
>               <rampart:crypto
> provider="com.test.security2.csf.webservices.WSS4JCSFCryptoImpl">
>
>                 …
>
>               </rampart:crypto>
>
>             </rampart:signatureCrypto>
>
>           </rampart:RampartConfig>
>
>         </wsp:All>
>
>       </wsp:ExactlyOne>
>
>     </wsp:Policy>
>
>   </operation>
>
> </service>
>
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.