Me back on Blogger..
I started my blog on Blogger in 2007 and then switched to Wordpress after sometime. By that time, I felt like Wordpress is better, so I sticked to it. But I migrated back to Blogger and will be posting here from now onwards. :-)
Main reason for this migration was the freedom and control I have over my blog in Blogger compared to Wordpress. With Wordpress, you are restricted to default widgets provided with free account and no custom java scripts, etc. If you want to get statistics of your blog, you have no other option, it is default wordpress stats page. I agree, you are given significant level of information there, but Google Analytics and Stat Counter give you more than that.
After start working, I have been posting more and more code snippets in my posts. But I found only one theme in wordpress that displays code segments with scroll bars. But I could not find any syntax highlighting tool. :-( With Blogger, I have everything after integrating syntax highlighter widget into my blog.
And the Wordpress WYSIWYG editor is kind of slow, it takes few seconds to display what you have typed and it is a bit annoying. And there are few more reasons that made me to undergo the burden of migrating my blog.
Thanks to the Wordpress-to-Blogger tool, migration was not that hard, . These page has the relevant instructions on porting your Wordpress to Blogger. This post by Nandana, syndicates information about some useful tools and instructions that can be used to set up a blog properly. And I modified the DNS entries of my domain name to route the traffic to the new location.
And now it is up and running.. and it is time to write more and more.. :-)
Nov 23, 2009
Nov 19, 2009
WSO2 Identity Server 2.0.2 Released
The WSO2 Identity Server team is pleased to announce the release of
version 2.0.2 of the Open Source WSO2 Identity Server (IS).
IS 2.0.2 release is available for download at [1].
This is based on revolutionary the WSO2 Carbon [2] framework, Middleware
a la carte'.
All the major features have been developed as pluggable Carbon components.
New Features
---------------
1. Various bug fixes and enhancements including architectural improvements to Apache Axis2, Apache Rampart, Apache Sandesha2 , WSO2 Carbon and other projects.
2. Equinox P2 based provisioning support - extend your IS instance by installing new P2 features [5].
Other Key Features
---------------------
1. Entitlement Engine with XACML 2.0 support.
2. Claim based Security Token Service.
3. Extension points for SAML assertion handling.
4. OpenID Provider
5. Information Card Provider
6. SAML 2.0 Token Profile support
7. Passive STS
How to Run
------------------
1. Extract the downloaded zip.
2. Go to the bin directory in the extracted folder.
3. Run the wso2server.sh or wso2server.bat as appropriate.
4. Point your browser to the URL https://localhost:9443/carbon
5. Use "admin", "admin" as the user name and password.
6. If you need to start the OSGi console with the server use the
property -DosgiConsole when starting the server
Known issues
----------------------
All the known issues have been filed here [3]. Please report any other
issues you find as JIRA entries.
Contact us
-----------------
WSO2 Identity Server developers can be contacted via the mailing lists:
For Users: carbon-user@wso2.org
For Developers: carbon-dev@wso2.org
Alternatively, questions can also be raised in the Identity Server forum
at http://wso2.org/forum/308
Training
---------------
WSO2 Inc. offers a variety of professional Training Programs, including
training on general Web services as well as WSO2 Identity Server,
Apache Axis2, Data Services and a number of other products. For
additional support information please refer to
http://wso2.com/training/course-catalog/
Support
--------------
WSO2 Inc. offers a variety of development and production support
programs, ranging from Web-based support up through normal business
hours, to premium 24x7 phone support. For additional support information
please refer to http://wso2.com/support/
For more information on WSO2 Identity Server, visit the WSO2 Oxygen Tank[4].
Thank you for your interest in WSO2 Identity Server.
-The WSO2 Identity Server team
[1]: http://wso2.org/downloads/identity
[2]: http://wso2.org/projects/carbon
[3]: https://wso2.org/jira/browse/CARBON
[4]: http://wso2.org
[5]: https://wso2.org/wiki/display/carbon/p2-based-provisioning-support
version 2.0.2 of the Open Source WSO2 Identity Server (IS).
IS 2.0.2 release is available for download at [1].
This is based on revolutionary the WSO2 Carbon [2] framework, Middleware
a la carte'.
All the major features have been developed as pluggable Carbon components.
New Features
---------------
1. Various bug fixes and enhancements including architectural improvements to Apache Axis2, Apache Rampart, Apache Sandesha2 , WSO2 Carbon and other projects.
2. Equinox P2 based provisioning support - extend your IS instance by installing new P2 features [5].
Other Key Features
---------------------
1. Entitlement Engine with XACML 2.0 support.
2. Claim based Security Token Service.
3. Extension points for SAML assertion handling.
4. OpenID Provider
5. Information Card Provider
6. SAML 2.0 Token Profile support
7. Passive STS
How to Run
------------------
1. Extract the downloaded zip.
2. Go to the bin directory in the extracted folder.
3. Run the wso2server.sh or wso2server.bat as appropriate.
4. Point your browser to the URL https://localhost:9443/carbon
5. Use "admin", "admin" as the user name and password.
6. If you need to start the OSGi console with the server use the
property -DosgiConsole when starting the server
Known issues
----------------------
All the known issues have been filed here [3]. Please report any other
issues you find as JIRA entries.
Contact us
-----------------
WSO2 Identity Server developers can be contacted via the mailing lists:
For Users: carbon-user@wso2.org
For Developers: carbon-dev@wso2.org
Alternatively, questions can also be raised in the Identity Server forum
at http://wso2.org/forum/308
Training
---------------
WSO2 Inc. offers a variety of professional Training Programs, including
training on general Web services as well as WSO2 Identity Server,
Apache Axis2, Data Services and a number of other products. For
additional support information please refer to
http://wso2.com/training/course-catalog/
Support
--------------
WSO2 Inc. offers a variety of development and production support
programs, ranging from Web-based support up through normal business
hours, to premium 24x7 phone support. For additional support information
please refer to http://wso2.com/support/
For more information on WSO2 Identity Server, visit the WSO2 Oxygen Tank[4].
Thank you for your interest in WSO2 Identity Server.
-The WSO2 Identity Server team
[1]: http://wso2.org/downloads/identity
[2]: http://wso2.org/projects/carbon
[3]: https://wso2.org/jira/browse/CARBON
[4]: http://wso2.org
[5]: https://wso2.org/wiki/display/carbon/p2-based-provisioning-support
Nov 17, 2009
Using Axis2 Dynamic Client to invoke Secured Web Services
When invoking a secured web service with Axis2, usually we tend to use Axis2 ServiceClient at the service consumer's end. This is mainly due to the simplicity of the API of the ServiceClient. Since we are invoking a secured service, we have to point the ServiceClient to the security policy which is applied to the service. Usually this policy is stored in the file system and a policy object created by reading that file is added to the ServiceClient options. Following code snippets depicts the above mentioned procedure.
With this approach, whenever the service policy is changed, the changes should be introduced to the client side policy file manually. This is not manageable in a scenario where a large number of clients access the same secured service which is subjected to frequent changes in the policy. In such cases, Axis2 Dynamic Client comes in handy.
RPCServiceClient or Axis2 Dynamic Client is an extension to the Axis2 ServiceClient. When instantiating a RPCServiceClient, the URL of the WSDL of the service, the QName of the service in the WSDL and the intended port name should be passed as parameters in addition to the Configuration Context.
During this instantiation, the policy which is appearing in the WSDL is extracted and applied to the web service client. So when the policy is changed, always the changes get reflected in the client side.
Then you can engage modules in same way as with ServiceClient. Since RPCServiceClient is extending ServiceClinet, engage(String moduleName) method is inherited.
Now we have passed the service policy and engaged the Rampart module. What else is missing here? Yes. It is the rampart-config which is used to pass the client-side configuration data for Rampart. In this case, we can construct the rampart-config element programmatically and append it to the policy derived from the WSDL.
Constructing rampart-config programmatically is straight forward. Following code snipped demonstrates how to construct the rampart-config corresponding to a Username Token based Security Scenario.
Then append this rampart-config to the policy derived from the WSDL.
Here we are taking the effective policy and append the rampart-config and overriding the existing policy using the updated policy.
Now we can invoke the service.
We are using the blocking invocation here. The QName of the operation in WSDL file, an array of objects with the parameters and an array of Class objects for the return types are passed into this method.
With the successful completion of that method, we have invoked a service securely using an Axis2 Dynamic Client.
References : http://www.nandana.org/2008/11/how-to-write-dynamic-client-for-web.html
options.setProperty(RampartMessageData.KEY_RAMPART_POLICY, loadPolicy(policyPath));
With this approach, whenever the service policy is changed, the changes should be introduced to the client side policy file manually. This is not manageable in a scenario where a large number of clients access the same secured service which is subjected to frequent changes in the policy. In such cases, Axis2 Dynamic Client comes in handy.
RPCServiceClient or Axis2 Dynamic Client is an extension to the Axis2 ServiceClient. When instantiating a RPCServiceClient, the URL of the WSDL of the service, the QName of the service in the WSDL and the intended port name should be passed as parameters in addition to the Configuration Context.
RPCServiceClient dynamicClient = new RPCServiceClient(confContext, new URL("http://127.0.0.1:9763/services/HelloService?wsdl"),
new QName("http://www.wso2.org/types", "HelloService"), "HelloServiceHttpSoap12Endpoint");During this instantiation, the policy which is appearing in the WSDL is extracted and applied to the web service client. So when the policy is changed, always the changes get reflected in the client side.
Then you can engage modules in same way as with ServiceClient. Since RPCServiceClient is extending ServiceClinet, engage(String moduleName) method is inherited.
dynamicClient.engageModule("rampart");Now we have passed the service policy and engaged the Rampart module. What else is missing here? Yes. It is the rampart-config which is used to pass the client-side configuration data for Rampart. In this case, we can construct the rampart-config element programmatically and append it to the policy derived from the WSDL.
Constructing rampart-config programmatically is straight forward. Following code snipped demonstrates how to construct the rampart-config corresponding to a Username Token based Security Scenario.
RampartConfig rampartConfig = new RampartConfig();
rampartConfig.setUser("admin");
rampartConfig.setPwCbClass("org.wso2.training.wsas.security.PasswordCallbackHandler");Then append this rampart-config to the policy derived from the WSDL.
Map endPoints = dynamicClient.getAxisService().getEndpoints(); AxisBinding axisBinding = ((AxisEndpoint) endPoints.values().iterator().next()).getBinding(); Policy policy = axisBinding.getEffectivePolicy(); policy.addAssertion(rampartConfig); axisBinding.applyPolicy(policy);
Here we are taking the effective policy and append the rampart-config and overriding the existing policy using the updated policy.
Now we can invoke the service.
Object[] returnArray = dynamicClient.invokeBlocking(new QName("http://www.wso2.org/types","greet"),
new Object[]{"Alice"}, new Class[]{String.class});We are using the blocking invocation here. The QName of the operation in WSDL file, an array of objects with the parameters and an array of Class objects for the return types are passed into this method.
With the successful completion of that method, we have invoked a service securely using an Axis2 Dynamic Client.
References : http://www.nandana.org/2008/11/how-to-write-dynamic-client-for-web.html
Subscribe to:
Posts (Atom)
