[Axis2][Java] ERROR AxisEngine:219 - Must Understand check failed for header http://www.w3.org/2005/08/addressing : Action

Poniżej zapis pierwszych linii errora, który otrzymałem pisząc połączenie SOAP z jedną z usług webowych:

2015-11-16 14:01:35 ERROR AxisEngine:219 - Must Understand check failed for header http://www.w3.org/2005/08/addressing : Action
org.apache.axis2.AxisFault: Must Understand check failed for header http://www.w3.org/2005/08/addressing : Action
at org.apache.axis2.engine.AxisEngine.checkMustUnderstand(AxisEngine.java:105)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:171)

Spowodowane jest ono brakiem odpowiedniego engage module dodanego do naszego stuba, rozwiązaniem jest poniższy kod:

stub = new TPIServiceStub(serviceUrl);
ServiceClient sc = stub._getServiceClient();
sc.engageModule("addressing");

[JavaScript][Chrome] Problem z CORS

Jeśli testujemy jakąś usługę np po REST i mamy problem z połączeniem się do niej, to na przeglądrce chrome, wystarczy zainstalować dodatek: https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi/support?hl=en-US
unikniemy w ten sposób potrzeby definiowania odpowiednich ustawień na serwerze i konfiguracji nagłówków po stronie strony, co czasem bywa przydatne.

Source

Osmosis nie chce się uruchomić pod windowsem | Could not find or load main class org.codehaus.classworlds.Launcher


Należy zmodyfikować w pliku .bat który uruchamiamy wersję biblioteki plexus-classworlds-2.4.jar na wersje aktualnie osadzoną w projekcie. Na czas pisania tego postu jest to wersja plexus-classworlds-2.5.2.jar


http://permalink.gmane.org/gmane.comp.gis.openstreetmap.osmosis.devel/1701

[LibGDX] System scen i drag and drop

Scene2d jest dobrym narzędziem do tworzenia GUI takiego jak Menu Główne, Menu Opcji, Mapy Przygody czy Sklepu. W jego skład wchodzą takie elementy jak Stage - które jest głównym rodzicem dla wszystkich komponentów. Niżej w hierarchi mamy rodzinę Layoutów:

Table - do ogólnego przeznaczenia. W praktyce używam ją raczej jako główny stół do grupowania pozostałych elementów.

HorizontalGroup, VerticalGroup - do grupowania poziomego lub pionowego.

A także przydatny ScrollPane - do menu przewijanego. Oraz Container do pozycjonowania pojedynczych widgetów.

Dalej mamy Layouty wyspecjalizowane np.:
Tree - do tworzenia drzew. Czyli kompozycji rozwijanych.
SplitPane - do dzielenia przestrzeni pomiędzy dwóch aktorów.

oraz layouty pomocnicze jak ScrollPane - do przesuwania komponentów.

Na niższym poziomie znajdują się widgety czyli wszelkiego rodzaju kontrolki jak Button, Image, CheckBox.

Niektóre widgety takie jak Window służą podobnie jak layouty do obsadzania w nich innych kontrolek.

Żeby wykorzystać pełen potencjał layoutów. Wszelkich aktorów do dodania należy dodawać poprzez metodę .add(actor). Dzięki temu zwracana jest nam komórka którą możemy pod wieloma względami pozycjonować. np.:


dropRow = new HorizontalGroup(); scrollDropRow = new ScrollPane(dropRow); table.add(scrollDropRow).expand().center();




Pozwala na wycentrowanie naszego layouta na środek ekranu.
Polecenie expand() rozszerza nasz komponent na maksymalną szerokość i wysokość jaką może osiągnąć. Czyli jak bardzo może się rozepchać, zostawiając innym minimalne miejsce istnienia.
Natomiast center pozwala ustawić przesunięcie na środek.

Ciekawym narzędziem przy tworzeniu menusów jest system DragAndDrop oferowany przez klasę narzędziową scene2d.
Najprościej rzecz ujmując jego działanie polega na przypisaniu aktorów jako Source(elementy które można przesuwać) oraz Target(elementy na które można przesuwać). Dzięki temu dostajemy elastyczny system do tworzenia dowolnej funkcjonalności na podstawie systemu DragAndDrop.


WiFi ADB nie widzi naszego telefonu.

Posiadam telefon Samsung Galaxy Trend Plus. Po zmianie windowsa chciałem uruchomić debuggowanie mojej gry ale luncher nie rozpoznał mojego telefonu. Rozwiązaniem było zainstalowanie sterowników USB od Samsunga oraz podpięcie telefonu i uwierzytelnienie podpisu cyfrowego.

[Vaadin 7] Konfiguracja mavena - pom.xml - tak aby można było korzystać z własnych theme i widgetset

O ile samo korzystanie z Vaadina daje spore możliwości, to jednak dodanie dodatkowego komponentu jak EasyUpload add-ons, może naprzykrzyć trochę życie. Po kilkudniowym boju, mogę jednak powiedzieć że udało mi się skonfigurować dostatecznie żeby korzystać z dobrodziejstw dodatków.

[Java SE][JAX-WS] Implementacja web service w Javie SE

Java SE od wersji 6 posiada możliwość utworzenia wbudowanego serwera web methods opartego o protokół SOAP. W odróżnieniu od REST`owego API nie potrzebujemy tutaj żadnego serwera typu tomcat, wildfly co przydaje się w niektórych zastosowaniach.