Layer7 API Management

  • 1.  GMU gives error   

    Posted May 25, 2018 05:49 AM

    When asking the GMU to execute a browse command,

     

    GatewayMigrationUtility.sh browse -argFile properties/<environment>.properties -showIds -r

     

     

    The gateway Management service returns an error. While searching for a resolution we have been trying to search for the place where this goes wrong and it seems that it has something to do with the -r.

     

    The -r triggers a level in the restcall from the GMU making the "level=-1" as a query parameter.

    When we execute this command from postman it also returns an error, but hereby we can set the level to a fixed number.

    We found out all goes wel until level 290, while at level 291 it breaks, but we can't find anywhere where this is set what level 291 is. Everything higher than 290 fails.

     

    What we did find is that there is a difference between level=288 and level=290. The difference is are dependencies from one of the last added services. But we're not sure what was created after that.

     

    We have 2 possible explainations:

    1. the message size became to big, whereby the closing tag "]" is not inside message size

    2. there is an error inside one of the policies/services/dependencies, but we cant find it anywhere.

     

    Hope someone can help,



  • 2.  Re: GMU gives error   

    Broadcom Employee
    Posted May 27, 2018 07:27 PM

    Let's see if it's due to the size limit.

    You may check 2 cluster wide properties,

    1.

    restman.request.message.maxSize, the default value is 51200 KB

    2.

    io.xmlPartMaxBytes, the default value is 2621440 bytes, 0 for unlimited size.

     

    double the value, and see if we can reach more levels



  • 3.  Re: GMU gives error   

    Posted May 28, 2018 04:15 AM

    Thanks for the response, unfortunately it didn't work.

     

    Also tried to set the restman.response.max.messagesize but that does not seem to exist. Also the size is enforces before it goes into the restman assertion. Making it difficult when u Get information. The protection seems to be for when new information is pushed to a gateway.

    Never the less. 

     

    Today i've been further troubleshooting. By using the REST Api directly.

    I've been able to pinpoint the error to first 1 folder, then 1 service. In the server the errror was found to be in the :

     

    <?xml version="1.0" encoding="UTF-8"?>
    <wsp:Policy xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy">
    <wsp:All wsp:Usage="Required">
    <L7p:LookupDynamicContextVariables>
    <L7p:Enabled booleanValue="false"/>
    <L7p:SourceVariable stringValue="${klant.validFrom[${klant.itertations}]}"/>
    <L7p:TargetDataType variableDataType="string"/>
    <L7p:TargetOutputVariablePrefix stringValue="klant.validFrom.current"/>
    </L7p:LookupDynamicContextVariables>
    </wsp:All>
    </wsp:Policy>

     

    Probably it goes wrong because of the brackets. A very strange phenomenon, but finally the GMU is working again.



  • 4.  Re: GMU gives error   

    Posted May 09, 2019 09:02 AM

    Hi,

     

    how did you managed to solve this? We are hitting the same issue when trying to migrateIn any package. Even packages which used to work few months ago or packages that work on other GWs return an error.

     

    Thanks,

     

    Karel



  • 5.  Re: GMU gives error   

    Broadcom Employee
    Posted May 09, 2019 06:55 PM

    Hi Karel,

    try increasing cluster wide property restman.request.message.maxSize, Pablo.vander.Veen-KvK failed to find the cwp should be due to the typo -- it's case sensitive.

     

    if you look into the /restman policy, it set a size limit on request as ${gateway.restman.request.message.maxSize}, if the limit exceeds, it returns error response,

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <l7:Error xmlns:l7="http://ns.l7tech.com/2010/04/gateway-management">
        <l7:Type>InvalidRequest</l7:Type>
        <l7:Detail>the specified maximum data size limit would be exceeded</l7:Detail>
    </l7:Error>

     

    The GMU cannot understand the error response, so it complains it found "</l7:Detail>"

     

    Regards,

    Mark



  • 6.  Re: GMU gives error   

    Posted May 10, 2019 05:49 AM

    Hallo Karel, the issue was in an assertion that should combine things.  

     

    <L7p:SourceVariable stringValue="${klant.validFrom[${klant.itertations}]}"/>

     

    Took us quite some time to find out. 

    We had to migrate smaller packages to pinpoint the problem. But of there is anywhere in the package one wrong assertion, it wil fail. 

     

    Hope it helps.

     

    Kind regards,

    Pablo