Hi Colm, Thanks again for your time and reply! You could just create a fully-fledged CXF endpoint using the WSDL of the service and some test credentials? That would definately be easier than mocking the service endpoint, as WS-SecureConversation complicates things. *I am not quite sure if I understand that correctly. Is there some documentation or example you could point me through? Thank You*
*If you are getting an error in SecureConversationInInterceptor about a SecurityToken then it sounds like you are not first invoking on the secure conversation endpoint that is co-located with the service. You could try invoking on a mocked version of this first and then passing the generated SecurityToken through to the mocked endpoint.* *The STS and external server are the same. In my mocked version I used WireMock to create a localhost port and just made a mock response that when the mocked server expects a request ending with certain url, respond with a mock response. The issue here is that before the request even hits the server, the stub requests the mock server for security token and it fails. How can I mock the security token response from mock server?* Thanks again! ᐧ On 19 February 2018 at 08:36, Colm O hEigeartaigh <[email protected]> wrote: > > You could just create a fully-fledged CXF endpoint using the WSDL of the > service and some test credentials? That would definately be easier than > mocking the service endpoint, as WS-SecureConversation complicates things. > > If you are getting an error in SecureConversationInInterceptor about a > SecurityToken then it sounds like you are not first invoking on the secure > conversation endpoint that is co-located with the service. You could try > invoking on a mocked version of this first and then passing the generated > SecurityToken through to the mocked endpoint. > > Colm. > > > On Mon, Feb 19, 2018 at 4:29 PM, Ujjwal Gulecha <[email protected]> > wrote: > >> Hi Colm, >> Thanks for replying. Yes, I had that but I guess I had other dependencies >> too which somehow caused this issue. I removed them all and then just added >> cxf-bundle and it worked. >> >> I had another question: >> Is there a way to test the cxf generated client while mocking a server? >> The issue with the regular way of setting a mock server and testing is >> that the stub interceptors, specially SecurityConversationInterceptor >> expects a Security Token even though its a mock server. Since its a mock >> server, it cannot send a security token, hence the test fails. >> >> Is there any other way to test it? I have no idea about the server side >> implementation as it is external >> >> Thanks! >> >> ᐧ >> >> On 19 February 2018 at 02:11, Colm O hEigeartaigh <[email protected]> >> wrote: >> >>> What CXF dependencies do you have on the classpath? Do you have >>> "cxf-rt-frontend-jaxws" included? >>> >>> Colm. >>> >>> On Fri, Feb 16, 2018 at 7:37 PM, Ujjwal Gulecha < >>> [email protected]> >>> wrote: >>> >>> > Hi everyone, >>> > I am new to this group. I have used cxf to generate classes from a wsdl >>> > which has some security policy. >>> > >>> > Here is the link to the security policy part: >>> > >>> > https://gist.github.com/ujjwalgulecha/9edc9538ca4484997cd0bd4cfca93501 >>> > >>> > From whatever I could gather from the internet and documentations, I >>> > created an instance of the service generated by cxf and then injected >>> > username and password into it : >>> > >>> > final Map ctx = ((BindingProvider)stub).getRequestContext(); >>> > >>> > ctx.put(SecurityConstants.USERNAME, userName); >>> > ctx.put(SecurityConstants.PASSWORD, password); >>> > >>> > >>> > I assume that cxf will internally be able to detect the policy and do >>> the >>> > part where it requests for security token and gets the token and then >>> makes >>> > the call to whatever methods are defined in wsdl, example: >>> getVersion(). >>> > >>> > However, this doesn’t seem to work. The call takes like 5 mins and then >>> > there is an error saying: >>> > >>> > >>> > If it helps, this is in the logs: >>> > >>> > log4j:WARN No appenders could be found for logger (org.jboss.logging). >>> > log4j:WARN Please initialize the log4j system properly. >>> > log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig >>> for >>> > more info. >>> > 19:23:45.533 [main] INFO org.eclipse.jetty.util.log - Logging >>> initialized >>> > @1812ms to org.eclipse.jetty.util.log.Slf4jLog >>> > Feb 16, 2018 7:23:46 PM >>> > [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector] >>> > selectAlternatives >>> > WARNING: WSP0075: Policy assertion "{http://docs.oasis-open.org/ >>> > ws-sx/ws-securitypolicy/200702}EndorsingSupportingTokens" was >>> evaluated as >>> > "UNKNOWN". >>> > Feb 16, 2018 7:23:46 PM >>> > [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector] >>> > selectAlternatives >>> > WARNING: WSP0075: Policy assertion "{http://docs.oasis-open.org/ >>> > ws-sx/ws-securitypolicy/200702}TransportBinding" was evaluated as >>> > "UNKNOWN". >>> > Feb 16, 2018 7:23:46 PM >>> > [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector] >>> > selectAlternatives >>> > WARNING: WSP0075: Policy assertion "{http://docs.oasis-open.org/ >>> > ws-sx/ws-securitypolicy/200702}Trust13" was evaluated as "UNKNOWN". >>> > Feb 16, 2018 7:23:46 PM >>> > [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector] >>> > selectAlternatives >>> > WARNING: WSP0075: Policy assertion "{http://docs.oasis-open.org/ >>> > ws-sx/ws-securitypolicy/200702}Wss11" was evaluated as "UNKNOWN". >>> > Feb 16, 2018 7:23:46 PM >>> > [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector] >>> > selectAlternatives >>> > WARNING: WSP0075: Policy assertion "{http://www.w3.org/2006/05/ >>> > addressing/wsdl}UsingAddressing" was evaluated as "UNKNOWN". >>> > Feb 16, 2018 7:23:46 PM >>> > [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector] >>> > selectAlternatives >>> > WARNING: WSP0019: Suboptimal policy alternative selected on the client >>> side >>> > with fitness "UNKNOWN”. >>> > >>> > >>> > Any help would be appreciated. I have asked around quite a lot and even >>> > searched a lot, but haven’t been able to find a solution. >>> > >>> > Thanks! >>> > >>> > -- >>> > Ujjwal Gulecha >>> > ᐧ >>> > >>> >>> >>> >>> -- >>> Colm O hEigeartaigh >>> >>> Talend Community Coder >>> http://coders.talend.com >>> >> >> >> >> -- >> Ujjwal Gulecha >> > > > > -- > Colm O hEigeartaigh > > Talend Community Coder > http://coders.talend.com > -- Ujjwal Gulecha
