package Ġno . nav . hel se . flex . client . alt inn Ċ Ċ import Ġorg . apache . c xf . frontend . Client Proxy Ċ import Ġorg . apache . c xf . jax ws . Jax Ws Proxy Factory Bean Ċ import Ġorg . apache . c xf . message . Message Ċ import Ġorg . apache . c xf . phase . Phase Interceptor Ċ import Ġjava . util .* Ċ import Ġjavax . xml . ws . Binding Provider Ċ import Ġjavax . xml . ws . handler . Handler Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ class ĠW s Client < T > Ġ{ ĊĠĠĠ Ġfun Ġcreate Port ( service Url : ĠString , Ġport Type : ĠClass < *> ?, Ġhandlers : ĠList < Handler < *> ?> ?, Ġvar arg Ġintercept ors : ĠPhase Interceptor < out ĠMessage ?> ?): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjax Ws Proxy Factory Bean Ġ= ĠJ ax Ws Proxy Factory Bean () ĊĠĠĠĠĠĠĠ Ġjax Ws Proxy Factory Bean . service Class Ġ= Ġport Type ĊĠĠĠĠĠĠĠ Ġjax Ws Proxy Factory Bean . address Ġ= ĠObjects . requireNonNull ( service Url ) ĊĊĠĠĠĠĠĠĠ Ġval Ġport Ġ= Ġjax Ws Proxy Factory Bean . create () Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ( port Ġas ĠBinding Provider ). binding . handler Chain Ġ= Ġhandlers ĊĠĠĠĠĠĠĠ Ġval Ġclient Ġ= ĠClient Proxy . getClient ( port ) ĊĠĠĠĠĠĠĠ ĠArrays . stream ( intercept ors ). forEach Ġ{ Ġe : ĠPhase Interceptor < out ĠMessage ?> ? Ġ-> Ġclient . out Intercept ors . add ( e ) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġport ĊĠĠĠ Ġ} Ċ } Ċ