Hi Brett,

FYI: When I used the latest axiom jars (1.2.3-SNAPSHOT) I was able to
use the original getPolicy() method.

Thanks,
Ruchith

On Sun, Dec 4, 2011 at 9:05 PM, Brett Walker
<brett.wal...@geometryit.com> wrote:
> Thanks Ruchith,
>
>  This has indeed fixed my problem. Good work
>
> Brett
>
> -----Original Message-----
> From: Ruchith Fernando [mailto:ruchith.ferna...@gmail.com]
> Sent: Monday, 5 December 2011 9:41 AM
> To: java-user@axis.apache.org
> Subject: Re: IllegalArgumentException: ProtectionToken is not a <wsp:Policy> 
> element.
>
> Hi Brett,
>
> I was able to reproduce the problem. And I was able to get past loading 
> policy with the following fixes:
>
> 1.) There are some <sp:Policy> elements in the generated 
> ContentManagementServiceStub.java Please change these to <wsp:Policy> (and 
> </wsp:Policy> respectively).
> You will find 4 such instances. I checked the original wsdl and I couldn't 
> find such <sp:Policy> elements, so I guess this is a bug in
> axis2 code generation.
>
> 2.) Update the getPolicy method in ContentManagementServiceStub.java
>
> Please change the getPolicy method to the following:
>
>    private static org.apache.neethi.Policy getPolicy (java.lang.String 
> policyString) {
>        java.io.ByteArrayInputStream bais = new 
> java.io.ByteArrayInputStream(policyString.getBytes());
>                try {
>                        StAXOMBuilder builder = new StAXOMBuilder(bais);
>                        OMElement documentElement = 
> builder.getDocumentElement();
>                return 
> org.apache.neethi.PolicyEngine.getPolicy(documentElement);
>                } catch (XMLStreamException e) {
>                        e.printStackTrace();
>                }
>                return null;
>    }
>
> With the original code that is generated the XMLStreamReader instance created 
> in org.apache.neethi.PolicyBuilder seems to behave incorrectly.
>
>
> Hope this helps!
>
> Thanks,
> Ruchith
>
>
> On Wed, Nov 30, 2011 at 7:58 PM, Brett Walker <brett.wal...@geometryit.com> 
> wrote:
>> Hi,
>>
>>
>>
>> I have been struggling with a problem for a few hours that I have with
>> Axis2 and
>>
>> Rampart. I have googled quite extensively and have yet to found a solution.
>> I
>>
>> have even looked at the source code and stepped through it. Though
>> this has
>>
>> enlightened me about the error and its cause it has not brought me
>> closer to a
>>
>> solution.
>>
>>
>>
>> The error that is occurring is
>>
>>
>>
>>   java.lang.IllegalArgumentException:
>> {http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}ProtectionToken
>> is not a <wsp:Policy> element.
>>
>>
>>
>> For the full stacktrace see attached stacktrace.txt file.
>>
>>
>>
>> While I have used Axis2 before, I'm no expert with it and even less so
>> with Rampart.
>>
>> I have an existing Web App that needs to be extended to introduce a
>> client for a
>>
>> Web Service interaction. I have installed Axis2 v1.6.1 and Rampart
>> v1.6.1 as
>>
>> instructed, i.e. set AXIS2_HOME and copied Rampart's libs and modules
>> to the
>>
>> appropriate places under the Axis2 installation. I built the
>> client-side Java classes
>>
>> using the WSDL2Java script and bundled the generated classes into a
>> jar
>>
>> (WebServiceClient.jar). The WSDL and XSD are in the attached wsdl.zip file.
>> I then
>>
>> added the appropriate jars and modules to the existing Web App; see
>> the
>>
>> following diagram for more information.
>>
>>
>>
>>   \WebApp
>>
>>   |
>>
>>   |-\ ( other directories )
>>
>>   |
>>
>>   |-\WEB-INF
>>
>>     |
>>
>>     |-\( other directories )
>>
>>     |
>>
>>     |-\lib includes AXIS2 and Rampart jars and WebServiceClient.jar
>>
>>     |
>>
>>     |-\repository
>>
>>       |
>>
>>       |-\modules includes AXIS2 and Rampart modules
>>
>>       |
>>
>>       |-\services ( empty )
>>
>>
>>
>> The section of code that initialises the Web Services is as follows:
>>
>>
>>
>>   try
>>
>>   {
>>
>>     ConfigurationContext context =
>> ConfigurationContextFactory.createConfigurationContextFromFileSystem(
>> this.getWebInfPath() + "repository" );
>>
>>
>>
>> **  ablisContentManagementService = new ContentManagementServiceStub(
>> context, "http://services.ablis.uat.business.gov.au/ContentManagement.svc";
>> );
>>
>>
>>
>>     ServiceClient ablisContentManagementServiceClient =
>> ablisContentManagementService._getServiceClient();
>>
>>
>>
>>     ablisContentManagementServiceClient.engageModule( "addressing" );
>>
>>     ablisContentManagementServiceClient.engageModule( "rampart" );
>>
>>
>>
>>     ablisAxisFault = null;
>>
>>   }
>>
>>   catch ( AxisFault af )
>>
>>   {
>>
>>     ablisContentManagementService = null;
>>
>>     ablisAxisFault = af;
>>
>>     af.printStackTrace();
>>
>>   }
>>
>>   catch ( Throwable t )
>>
>>   {
>>
>>     t.printStackTrace();
>>
>>   }
>>
>>
>>
>> I know that Rampart is not configured properly but the error is being
>> thrown
>>
>> at the highlighted line; even before the Rampart configuration, if done.
>>
>>
>>
>> In debugging, I noticed that the XML, as an OMElement instance, being
>> passed
>>
>> to the SymmetricBindingBuilder.build(see stacktrace) is the following:
>>
>>
>>
>>   <wsp:Policy>
>>
>>     <sp:ProtectionToken>
>>
>>       <wsp:Policy>
>>
>>         <sp:X509Token
>> sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/
>> IncludeToken/Never">
>>
>>           <wsp:Policy>
>>
>>             <sp:RequireDerivedKeys/>
>>
>>             <sp:RequireThumbprintReference/>
>>
>>             <sp:WssX509V3Token10/>
>>
>>           </wsp:Policy>
>>
>>         </sp:X509Token>
>>
>>       </wsp:Policy>
>>
>>     </sp:ProtectionToken>
>>
>>     <sp:AlgorithmSuite>
>>
>>       <wsp:Policy>
>>
>>         <sp:Basic256Sha256/>
>>
>>       </wsp:Policy>
>>
>>     </sp:AlgorithmSuite>
>>
>>     <sp:Layout>
>>
>>       <wsp:Policy>
>>
>>         <sp:Strict/>
>>
>>       </wsp:Policy>
>>
>>     </sp:Layout>
>>
>>     <sp:IncludeTimestamp/>
>>
>>     <sp:EncryptSignature/>
>>
>>     <sp:OnlySignEntireHeadersAndBody/>
>>
>>   </wsp:Policy>
>>
>>
>>
>> From the code in SymmetricBindingBuilder.build(), I think the XML should be:
>>
>>
>>
>>   <sp:SymmetricBinding
>> xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
>>
>>     <wsp:Policy>
>>
>>       <sp:ProtectionToken>
>>
>>         <wsp:Policy>
>>
>>           <sp:X509Token
>> sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/
>> IncludeToken/Never">
>>
>>             <wsp:Policy>
>>
>>               <sp:RequireDerivedKeys/>
>>
>>               <sp:RequireThumbprintReference/>
>>
>>               <sp:WssX509V3Token10/>
>>
>>             </wsp:Policy>
>>
>>           </sp:X509Token>
>>
>>         </wsp:Policy>
>>
>>       </sp:ProtectionToken>
>>
>>       <sp:AlgorithmSuite>
>>
>>         <wsp:Policy>
>>
>>           <sp:Basic256Sha256/>
>>
>>         </wsp:Policy>
>>
>>       </sp:AlgorithmSuite>
>>
>>       <sp:Layout>
>>
>>         <wsp:Policy>
>>
>>           <sp:Strict/>
>>
>>         </wsp:Policy>
>>
>>       </sp:Layout>
>>
>>       <sp:IncludeTimestamp/>
>>
>>       <sp:EncryptSignature/>
>>
>>       <sp:OnlySignEntireHeadersAndBody/>
>>
>>     </wsp:Policy>
>>
>>   </sp:SymmetricBinding>
>>
>>
>>
>> This would fix the error but how to accomplish this.
>>
>>
>>
>> I may have made errors or omissions in what I have said or done, if so
>> please highlight
>>
>> these. I'm familiar with Axis2 and not at all with Rampart so any help
>> is appreciated. I
>>
>> am happy to answer questions. Any help is greatly appreciated.
>>
>>
>>
>> Thanks in kind,
>>
>> Brett
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org
>> For additional commands, e-mail: java-user-h...@axis.apache.org
>
>
>
> --
> http://ruchith.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org
> For additional commands, e-mail: java-user-h...@axis.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org
> For additional commands, e-mail: java-user-h...@axis.apache.org
>



-- 
http://ruchith.org

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org
For additional commands, e-mail: java-user-h...@axis.apache.org

Reply via email to