Επιλογή διακομιστή μεσολάβησης για έναν πελάτη WebSphere 8.5.5 JAX-WS
Εφαρμόστε τις τεκμηριωμένες ιδιότητες μεσολάβησης του WebSphere στο πλαίσιο αιτήματος του πελάτη JAX-WS αντί να αλλάξετε τη δρομολόγηση σε όλο το JVM.
Για τον WebSphere Application Server 8.5.5 JAX-WS ελέγξτε δύο περιβάλλοντες μηχανισμούς πριν βασιστείτε σε μια διεύθυνση στο πλαίσιο αιτήματος του πελάτη. Η ιδιότητα της IBM σε επίπεδο JVM com.ibm.ws.websvcs.transport.enableProxyTunnel είναι false από προεπιλογή· μια διεύθυνση ανά πελάτη δεν ενεργοποιεί τη σήραγγα. Οι τιμές μεταφοράς HTTP ενός συνόλου πολιτικών υπερισχύουν επίσης των προγραμματιστικών τιμών, και αυτές υπερισχύουν των ιδιοτήτων συστήματος του JVM.
Για τη επιλεγμένη υπάρχουσα θύρα η IBM τεκμηριώνει αυτή τη ρύθμιση ανά πελάτη πριν από την κλήση:
import javax.xml.ws.BindingProvider;
BindingProvider binding = (BindingProvider) servicePort;
binding.getRequestContext().put("https.proxyHost", "proxy.example");
binding.getRequestContext().put("https.proxyPort", "8080");Τα κλειδιά HTTPS ισχύουν για τελικά σημεία HTTPS· για HTTP χρησιμοποιήστε τα αντίστοιχα κλειδιά IBM HTTP. Ένα επιτρεπόμενο δημόσιο τελικό σημείο SOAP μπορεί να χρησιμοποιήσει διεύθυνση HTTP από τη λίστα μεσολάβησης HTTP μόνο αφού το επιτρέψουν η ισχύουσα πολιτική και οι έλεγχοι σήραγγας και δεν έχει ρυθμιστεί λογαριασμός μεσολάβησης σε αυτά τα επίπεδα. Ο έλεγχος ταυτότητας μεσολάβησης έχει ξεχωριστές ιδιότητες HTTP/HTTPS proxyUser και proxyPassword, ανεξάρτητες από τα διαπιστευτήρια της υπηρεσίας SOAP.
Αυτές είναι επεκτάσεις του WebSphere. Ένας χάρτης BindingProvider στο Metro, στο CXF ή σε άλλη υλοποίηση δεν κάνει αυτές τις συμβολοσειρές φορητές.
Κρατήστε διαφορετικές ταυτόχρονες διαδρομές σε κατάλληλα ρυθμισμένα αντικείμενα πελάτη αντί να ξαναγράφετε ένα κοινόχρηστο πλαίσιο θύρας όσο εκτελούνται κλήσεις. Έτσι η διεύθυνση περιορίζεται στον πραγματικό πελάτη χωρίς να θεωρούνται όλοι οι γύρω μηχανισμοί JVM τοπικοί για τον πελάτη.