Hm ok sounds like I just have to wait. I would be very grateful though
for any hints for implementing WS-Policy in a java-based way in CXF
DOSGi (without the help of Spring or whatever). Ideally I'm looking
for something like this
http://www.jroller.com/gmazza/entry/cxf_x509_profile for DOSGi but I
doubt there's anything useful out there?

Cheers,

Thomas

On 4/4/2012 12:53 PM, Sergey Beryozkin wrote:
> Hi On 04/04/12 08:14, Thomas Pischulski wrote:
>> Hi Sergey,
>> 
>> TBH I don't know how to work with those WS-Policy Features. I'm
>> still trying to load my custom WSDL File from an included bundle
>> resource path but after registering my service, CXF also chooses
>> to publish the auto generated WSDL without any WS-Policy stuff.
>> 
>> Recently I just found out I have to add the location of the WSDL
>> to the bundles MANIFEST.FM
>> 
>> "Bundle-ClassPath: resources/wsdl/"
>> 
>> And it contains my resources/wsdl/hello.wsdl file.
>> 
>> Which type of path does CXF DOSGi now want from me? I tried
>> both, "resources/wsdl/hello.wsdl" and the bundle url 
>> "bundleentry://123.fwk1395908581/resources/wsdl/hello.wsdl". In
>> both cases I always get the auto-generated wsdl. I really don't
>> know how to proceed from here.
>> 
> The fastest way forward at this stage, as far as you experimenting
> with WSDL-first services is concerned is to build the trunk locally
> and see what needs to be fixed with respect to retrieving the
> bundle resources, it must be some minor fix that needs to be
> applied, otherwise it will be fixed in few months in time for the
> next release,
> 
> Cheers, Sergey
> 
>> Cheers,
>> 
>> Thomas
>> 
>> On 4/3/2012 9:21 PM, Sergey Beryozkin wrote:
>>> Actually, sorry, the 2nd approach you mentioned originally
>>> should work, meaning the interceptor must've been added,
>>> according to loadProviderClass, however adding a WSS4J
>>> interceptor definitely does not cause the changes to
>>> auto-generated WADL afaik...
>>> 
>>> I wonder if registering a WS-Policy feature manually can help 
>>> http://svn.apache.org/repos/asf/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/WSPolicyFeature.java
>>>
>>>
>>>
>>>
>>> 
Sergey
>>> 
>>> On 03/04/12 16:30, Thomas Pischulski wrote:
>>>> Hi,
>>>> 
>>>> thanks, I tried that earlier since it was recommended on the
>>>> DOSGi Reference site but I never made it to run without an
>>>> Exception. I changed it to:
>>>> 
>>>> List inInterceptors = new ArrayList(); 
>>>> inInterceptors.add(wssIn); 
>>>> webServiceProps.put("org.apache.cxf.ws.in.interceptors", 
>>>> inInterceptors);
>>>> 
>>>> And during runtime I get the following CastClassExecption:
>>>> 
>>>> Exception in thread "pool-1-thread-2"
>>>> java.lang.ClassCastException: java.util.ArrayList cannot be
>>>> cast to org.apache.cxf.interceptor.Interceptor at 
>>>> org.apache.cxf.dosgi.dsw.handlers.AbstractPojoConfigurationTypeHandler.addInterceptors(AbstractPojoConfigurationTypeHandler.java:211)
>>>>
>>>>
>>>>
>>>> 
at
>>>> org.apache.cxf.dosgi.dsw.handlers.AbstractPojoConfigurationTypeHandler.addWsInterceptorsFeaturesProps(AbstractPojoConfigurationTypeHandler.java:137)
>>>>
>>>>
>>>>
>>>> 
at
>>>> org.apache.cxf.dosgi.dsw.handlers.PojoConfigurationTypeHandler.createServer(PojoConfigurationTypeHandler.java:121)
>>>>
>>>>
>>>>
>>>> 
at
>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:247)
>>>>
>>>>
>>>>
>>>> 
at
>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:72)
>>>>
>>>>
>>>>
>>>> 
at
>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:67)
>>>>
>>>>
>>>>
>>>> 
at java.security.AccessController.doPrivileged(Native Method)
>>>> at 
>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:66)
>>>>
>>>>
>>>>
>>>> 
at
>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:38)
>>>>
>>>>
>>>>
>>>> 
at
>>>> org.apache.cxf.dosgi.topologymanager.TopologyManager$2.run(TopologyManager.java:267)
>>>>
>>>>
>>>>
>>>> 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
>>>> Source) at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown 
>>>> Source) at java.lang.Thread.run(Unknown Source)
>>>> 
>>>> Any ideas? Just for my understand, when using the Interceptor
>>>> approach the WS-Policy defintions will be automatically
>>>> written into the WSDL by CXF, correct?
>>>> 
>>>> Cheers,
>>>> 
>>>> Thomas
>>>> 
>>>> On 4/3/2012 3:13 PM, Sergey Beryozkin wrote:
>>>>> Hi
>>>>> 
>>>>> On 03/04/12 16:04, Thomas Pischulski wrote:
>>>>>> Hi there,
>>>>>> 
>>>>>> I started to work with the DOSGi Subproject of Apache CXF
>>>>>> and for the most part everything worked fine until I
>>>>>> began trying to add security to my web service. AFAIK
>>>>>> there're two possible methods implementing WS-Security
>>>>>> policies in CXF, right?
>>>>>> 
>>>>>> 1) WSDL-first approach by specifying the *.wsdl location
>>>>>> that the server should publish a lá 
>>>>>> props.put("org.apache.cxf.ws.wsdl.location",
>>>>>> "/hello.wsdl");
>>>>> 
>>>>> It might be to do with the bug opened against 1.3: 
>>>>> https://issues.apache.org/jira/browse/DOSGI-111
>>>>> 
>>>>>> 2) Using WSS4J In/Out Interceptors
>>>>>> 
>>>>>> I tried both of them and the server always published no
>>>>>> security policies at all in my
>>>>>> http://localhost:9090/hello?wsdl ([1] Link to generated
>>>>>> WSDL by CXF DOSGi) In the first approach I tested that
>>>>>> the *.wsdl-File is accessible by the bundle and
>>>>>> configured it with the org.apache.cxf.ws.wsdl.location
>>>>>> property ([2] Link to WSDL with manually added WS-Policy
>>>>>> stuff) I also specified all other properties necessary
>>>>>> (org.apache.cxf.ws.wsdl.*) from DOSGi References. The
>>>>>> resulting wsdl shows no security bindings at all and
>>>>>> equaled to [1]
>>>>>> 
>>>>>> Then I tried the second approach with using
>>>>>> WSS4JInInterceptors and again, the resulting WSDL file
>>>>>> has shown no difference to [1]. Here's the Activator code
>>>>>> that I used for that method: Activator.java. I'm using 
>>>>>> cxf-dosgi-ri-singlebundle-distribution-1.3 and my
>>>>>> favorable method would be the Interceptor Method. Also
>>>>>> I'm trying to avoid Spring or any other type of XML-based
>>>>>> Server/Client configuration. I was also searching through
>>>>>> the mailing list with moderate success.
>>>>> 
>>>>> I think at [3] you need to wrap wssIn in a List and that
>>>>> should do it
>>>>> 
>>>>> HTH, Sergey
>>>>> 
>>>>>> 
>>>>>> Up to this point I'm not sure where I'm wrong. Help
>>>>>> appreciated.
>>>>>> 
>>>>>> Cheers,
>>>>>> 
>>>>>> Thomas
>>>>>> 
>>>>>> [1] Link to generated WSDL by CXF DOSGi 
>>>>>> (http://pastebin.com/d20vNAQN) [2] Link to WSDL with
>>>>>> manually added WS-Policy stuff
>>>>>> (http://pastebin.com/d20vNAQN) [3] Activator.java
>>>>>> (http://pastebin.com/YwvDZmvv)
>>> 
>>> 
> 

Reply via email to