Recursive delete Directory on Windows

Quick tip to do this:

for /d /r %i in (*.svn*) do @echo rmdir /s %i

I used to delete subversion and maven target  folders.


Setup CI Server in Cloud for Java projects with code coverage and inspection

logos CI

Yep!  I was wating a long time to wirte about this topic, but finally I’m going to show  how to setup your own Continous Integration Server (aka CI) using cloud services, all of them with free accounts.

Only consider the scope of the functionality is very limited because all services we’re using are free, but if pay for it you can do much more.

I don’t going to explain what is or what are the feautres of the CI server, only I want to say the CI is a concept created by Martin Fowler in 2006 and like he’s mention in her website:

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily – leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.”

Well, let’s get started. We’re going to configure and integrate the next services, so you only need your Github or Bitbucket account.

The demo project

Seguir leyendo

SAP PO AEX Standar users

SAP PO user list in standar AEX Installation with default roles.

Dialog Users

Dialog users represent human users (as opposed to service users), who log on through the various user interfaces of the different components of SAP NetWeaver PI, such as, the Enterprise Services Repository, Integration Directory, and System Landscape Directory.

The following dialog user is available:


Assigned UME Roles
















Access to all components of SAP NetWeaver

Seguir leyendo

SSH tunneling from UNIX console


I’ve ever forgot write this tip,  in some cases when you’re working from an unix server you must to connect with other hosts, for example a web application to database, but for security reasons the server is the only one with permisions to connect. If you want to connect from your computer you can’t do this.

In this case you can use SSH tunneling, this command enables to use the server as point to connect from your computer, in other words, you can use the server like a bridge to achieve the connection with the data base.

ssh -L 5566: myuser@
  • 5566: is your local port to use in your computer
  • redirect all trafic to indicated host and port (through your local port)
  • myuser@  it’s the normal ssh connection to your server

After that, you can do the connection from your machine to achive the DB with something like this:



SAP PI/PO Enable Web Service Compression

Many people don’t know the web services has a feature to compress the information for request and response to exchange data between client and server.

The advantages of using this feature are that you can send high volume information in web services without reducing the performance, for example, you can send an XML payload of size 40 MB compressed in some 800 kb.

To enable this you need to add some headers in your web service consumer client. In case to PI/PO the equivalent is adding these parameters in SOAP module adapter configuration:Screenshot_20170814_174631 Like this:


But you need check which direction of the communication channel is configured, in the previous SAP PI documentation describe the configuration:

The receiver SOAP adapter uses these parameters for the request message; the sender
SOAP adapter uses these parameters for the response message.

If you’re using a Java client with axis you could enable this feature adding this lines into your Out Binding Stub class:

org.apache.axis.client.Call _call = createCall();
// other conf props...
_call.setProperty(HTTPConstants.MC_ACCEPT_GZIP, Boolean.TRUE);
_call.setProperty(HTTPConstants.MC_GZIP_REQUEST, Boolean.TRUE);

This is imperceptible for PI/PO because into the PIMON you can see the message size as normal size, you can check the web service consumer to validate if the request is compressed or not.


God Java Developer To Great One – Jhon Arthur

cover He de confesar que la portada de este libro me capturo de inmediato por el título, lo siento pero fue un golpe directo para alimentar mi ego que no podía dejar pasar.

Pero si lo vemos desde esta perspectiva, te sientes como “un buen programador” y un libro te dice como volverte en “uno grandioso”es algo que no pude evitar, pero tenía curiosidad por saber lo que el autor considera que un desarrollador grandioso debe tener.

Y, sin ser negativo, pienso que esté libro no aporta mucho cuando ya tienes una trayectoría porque describe (de forma sencilla) los patrones de desarrollo básicos que todo programador debería conocer, hacer o por lo menos saber que existen.

Voy a confesar que soy muy malo con los nombres de personas, de lugares o cosas, pero cuando ví los ejemplos de código me dí cuenta que había utilizado casí todos solo que  nunca supe que esa forma de programar era un patron de diseño de software.

No me siento un gran programador pero me gusta desarrollar y soy feliz por ello por hacer lo que me gusta, no me considero un experto porque el mercado de software es brutalmente cambiante, hoy puedes tener conocimiento en una tecnología y en un par de meses ya es remplazado… y me pregunto ¿cómo puedes ser grandioso en algo que cambia tan rápido? fácil, en mi opinión creo que no se puede.

Prefiero cuando la gente dice “tengo experiencia en X tecnología” a decir “soy especialista en esto…” para mí lo que te hace grande es la humildad, para escuchar, aprender y compartir.

El libro no es bueno y tampoco es malo, pero a mi me ayudo a descubrir como se llama esa forma de codificar que como buena práctica predico siempre que estoy desarrollando.


SAP PO 7.5 enable sync acknoledgement in async communication channel receiver

Recentrly I had been a SAP  PI 7.1 system to SAP PO 7.5 and some scnearios I had troubles with the acknowldege reponse from other SAP systems.

The problem is with a SOAP XI receiver communitation channel when the message is sended to sap system receiver, I don’t know because the receiver system send to PO a aknowledge with empty content (XML), and this raise a exception in PO.

To fix that I need to add this parameters into adapter module > Tab Module > Module Configuration

Module Key Parameter Name  Parameter   Value
soap        XMBWS.GenerateSysAck        true
soap        MBWS.NoSOAPIgnoreStatusCode true
soap        GenerateSysAck          true
soap        ignoreDuplicate         true

Maybe the parameters sounds to do other actions, but when you set the value ‘true‘the akcnowldege is ignored in PO and the process complete succesfully.