Service Virtualization

  • 1.  Replacement URI in Live Invocation

    Posted 04-19-2017 02:12 PM

    Getting this issue while invoking Live Invocation step on version 7.5.2. I have model with execution mode dynamic and based on script it calls live step. I have passed target server=live_server and target port=1111 of live but getting this below error when tested for both soap and rest calls.

     

    Case 1: SOAP calls

    <H1>SRVE0255E: A WebGroup/Virtual Host to handle /abs/123/v1_0/cfe/B123 has not been defined.</H1><BR><H3>SRVE0255E: A WebGroup/Virtual Host to handle localhost:1111 has not been defined.</H3><BR>

     

    Now this works fine when I pass full replacement URI as http://live_server:1111/abs/123/v1_0/cfe/B123.

     

    Question : Why does live invocation step works only with replacement uri and not with target server and target port.

     

    Case 2: REST calls

    For REST replacement uri will not work in my case as we are having RDP {URLPARAM0} in listener step and while giving replacement uri http://live_server:live_port/abc/session-data/{URLPARAM0} it fails saying invalid request. 

     

    Question : How to handle RDP in live invocation step.



  • 2.  Re: Replacement URI in Live Invocation

    Posted 04-20-2017 10:37 AM

    Melanie_Giuliani ..have raised this query yesterday evening I am not sure if its too early for me check with you..can someone help me please?



  • 3.  Re: Replacement URI in Live Invocation

    Broadcom Employee
    Posted 04-21-2017 03:21 PM

    As far as I know, if you provide the Target server and port information in LIVE invocation step it should work.

     

    The replacement URI need to be configured if the LIVE endpoint uses a different base path than what it is in the VSM. Are you using host name or ip address for "live_server"? If you are using host name then please try with ip address.

     

    Another test to try is create a test against LIVE system and test to make sure your LIVE system is up and running.

     

    Case 2:

    I haven't tested  {URLPARAM0} in the replacement URI. May be you can create a filter on the request value in the Listen step and then use that filter in replacement URI in LIVE invocation step.

     

    If you still need help, please open a support ticket.



  • 4.  Re: Replacement URI in Live Invocation

    Posted 04-21-2017 03:46 PM

    +1 gadpr08 I have not seen the need to use replacement URIs when making Live System calls so long as the original input request from the consumer contains the URI, body, and headers the live system expects. The error message 'A WebGroup/Virtual Host to handle localhost:1111 has not been defined' makes me wonder if there is something wrong with the base path or soap action header. This assumes the reference to localhost is either part of the real message or masked by the original post.

     

     

    Try running a test with the VSM in single step ITR mode. Send a request to the service from the client.  When the Listen step ends, look at the Properties and launch extended view on the lisa.vse.http.current.transaction.  This is the payload that is sent in the Live Invocation step to the server. DevTest does not send the lisa.vse.request to the Live System because one of the DPHs or script logic may have modified the original request by adding, changing or removing arguments, operation names, and header data. The server name and port are in the Live Invocation step to enable substitution. And, as Prema points out, the override URI is there to override the original incoming URI. Compare current transaction to lisa.vse.request. Are they identical? Look at the operation and URI, is it correct from the consumer?

     

    If your implementation were to be using a custom Transport Protocol Handler (TPH), it is possible that the TPH might not create a good current transaction.  Since you are using HTTP, I doubt your are using a custom TPH, rather the OOTB HTTP Listen Step.



  • 5.  Re: Replacement URI in Live Invocation

    Posted 04-24-2017 06:20 PM

    Thanks gadpr08 and Joel_Nesmith for your inputs. Everything was rightly configured but had checked "Do not modify host header parameter from client" as I wanted original request to send all the intended headers to client. I am not sure why this option is given apart from the reason I have mentioned. Live invocation step works just with Target Server and Target Port without replacement url having "Do not modify host header parameter from client" unchecked.

    If you have access to higher version and real service running it would be a good test to run and confirm.