7 Replies Latest reply: May 30, 2011 3:44 PM by 772640 RSS

    SALT Tuxedo Web Service error

    772640
      Hello fellow experts,

      Getting the following error when a client request is sent from soapUI to Tuxedo WS:

      [Request]
      POST http://10.3.37.49:26115/Profiles HTTP/1.1
      Accept-Encoding: gzip,deflate
      Content-Type: text/xml;charset=UTF-8
      SOAPAction: "csGtAlerts00"
      User-Agent: Jakarta Commons-HttpClient/3.1
      Host: 10.3.37.49:26115
      Content-Length: 1428

      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:pack.Profiles_typedef.salt11">
      <soapenv:Header/>
      <soapenv:Body>
      <urn:csGtAlerts00>
      <urn:inbuf>
      <urn:GENERATION>1</urn:GENERATION>
      <urn:DIRECTIVE>0</urn:DIRECTIVE>
      <urn:FIRST_DIRECTIVE>0</urn:FIRST_DIRECTIVE>
      <urn:SECOND_DIRECTIVE>0</urn:SECOND_DIRECTIVE>
      <urn:OPERATOR_ID>60001</urn:OPERATOR_ID>
      <urn:APPLICATION_ID>E</urn:APPLICATION_ID>
      <urn:TRANSACTION_MODE>O</urn:TRANSACTION_MODE>
      <urn:RUN_DATE>20110527</urn:RUN_DATE>
      <urn:MARKET_CODE>CAN</urn:MARKET_CODE>
      <urn:SVC_STATUS>?</urn:SVC_STATUS>
      <urn:LAST_UPDATE_DATE>20090419221703</urn:LAST_UPDATE_DATE>
      <urn:LAST_UPDATE_STAMP>1125</urn:LAST_UPDATE_STAMP>
      <urn:ENV_CODE>ENV10</urn:ENV_CODE>
      <urn:SESSION_ID>0</urn:SESSION_ID>
      <urn:ONLINE_TRX_NO>0</urn:ONLINE_TRX_NO>
      <urn:GROUP_TRX_ID>0</urn:GROUP_TRX_ID>
      <urn:INTERACTION_ID>111</urn:INTERACTION_ID>
      <urn:GN_CONTACT_ID>?</urn:GN_CONTACT_ID>
      <urn:GN_SRC_CHANNEL>?</urn:GN_SRC_CHANNEL>
      <urn:BAN>101979706</urn:BAN>
      <urn:LANGUAGE>?</urn:LANGUAGE>
      </urn:inbuf>
      </urn:csGtAlerts00>
      </soapenv:Body>
      </soapenv:Envelope>

      [Response]
      HTTP/1.1 500 Internal Server Error
      Server: gSOAP/2.7
      Content-Type: text/xml; charset=UTF-8
      Content-Length: 419
      Connection: close

      <?xml version="1.0" encoding="UTF-8"?>
      <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tuxedo="urn:pack.Profiles_typedef.salt11"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>GWWS_CAT:1036: DataMapping Error: Tag 'GENERATION' occurrence does not meet service requirement (min: 1).</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

      [ULOG]
      ...
      123208.rcihp146!TMMETADATA.17609.1.0: 05-28-2011: Tuxedo Version 9.1, 32-bit
      123208.rcihp146!TMMETADATA.17609.1.0: LIBTUX_CAT:262: INFO: Standard main starting
      123208.rcihp146!TMMETADATA.17609.1.0: CMDTUX_CAT:6769: INFO: TMMETADATA server started with repository file /rp
      1users1/rgs/test/rp1oln10/rte_tlg/etc/config/tlgcan.repos
      123209.rcihp146!GWWS.17610.1.0: 05-28-2011: Tuxedo Version 9.1, 32-bit
      123209.rcihp146!GWWS.17610.1.0: LIBTUX_CAT:262: INFO: Standard main starting
      123209.rcihp146!GWWS.17610.1.0: INFO: BEA SALT, Version 2.0, 32-bit, Patch Level (none)
      123209.rcihp146!GWWS.17610.1.0: WSCFG_CAT:33: INFO: Get configuration for GWWS <GWWS1> successful.
      123209.rcihp146!GWWS.17610.1.0: GWWS_CAT:19: INFO: GWWS started.
      123226.rcihp146!csmRCim.19418.1.0: 05-28-2011: Tuxedo Version 9.1, 32-bit
      123226.rcihp146!csmRCim.19418.1.0: LIBTUX_CAT:262: INFO: Standard main starting
      123226.rcihp146!csmRCim.19418.1.0: Server csmRCim Initializing ...
      123226.rcihp146!csmRCim.19418.1.0: Server csmRCim is using application tpsvrinit .
      123226.rcihp146!csmRCim.19418.1.0: Connect user <rp1app10> with password <********> .
      123226.rcihp146!csmRCim.19418.1.0: Connected to Oracle - Read Only Mode.
      123226.rcihp146!csmRCim.19418.1.0: Server csmRCim, Initialization ended successfully .
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: WAKEUP>Created
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: Inbound>Receive
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: WAKEUP>Receive
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: Found>ParseHTTP
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:
      HTTP Parsing: Buffer length 1642 -- POST /Profiles HTTP/1.1
      Accept-Encoding: gzip,deflate
      Content-Type: text/xml;charset=UTF-8
      SOAPAction: "csGtAlerts00"
      User-Agent: Jakarta Commons-HttpClient/3.1
      Host: 10.3.37.49:26115
      Content-Length: 1428

      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:pack.Profiles_typedef.salt11">
      <soapenv:Header/>
      <soapenv:Body>
      <urn:csGtAlerts00>
      <urn:inbuf>
      <urn:GENERATION>1</urn:GENERATION>
      <urn:DIRECTIVE>0</urn:DIRECTIVE>
      <urn:FIRST_DIRECTIVE>0</urn:FIRST_DIRECTIVE>
      <urn:SECOND_DIRECTIVE>0</urn:SECOND_DIRECTIVE>
      <urn:OPERATOR_ID>60001</urn:OPERATOR_ID>
      <urn:APPLICATION_ID>E</urn:APPLICATION_ID>
      <urn:TRANSACTION_MODE>O</urn:TRANSACTION_MODE>
      <urn:RUN_DATE>20110527</urn:RUN_DATE>
      <urn:MARKET_CODE>CAN</urn:MARKET_CODE>
      <urn:SVC_STATUS>?</urn:SVC_STATUS>
      <urn:LAST_UPDATE_DATE>20090419221703</urn:LAST_UPDATE_DATE>
      <urn:LAST_UPDATE_STAMP>1125</urn:LAST_UPDATE_STAMP>
      <urn:ENV_CODE>ENV10</urn:ENV_CODE>
      <urn:SESSION_ID>0</urn:SESSION_ID>
      <urn:ONLINE_TRX_NO>0</urn:ONLINE_TRX_NO>
      <urn:GROUP_TRX_ID>0</urn:GROUP_TRX_ID>
      <urn:INTERACTION_ID>111</urn:INTERACTION_ID>
      <urn:GN_CONTACT_ID>?</urn:GN_CONTACT_ID>
      <urn:GN_SRC_CHANNEL>?</urn:GN_SRC_CHANNEL>
      <urn:BAN>101979706</urn:BAN>
      <urn:LANGUAGE>?</urn:LANGUAGE>
      </urn:inbuf>
      </urn:csGtAlerts00>
      </soapenv:Body>
      </soapenv:Envelope>
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:parse_header_field() return 6
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: OK>HTTPDispatch
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:A HTTP message is received, SCO index=4095
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:Finding endpoint, soap->path is /Profiles, request_uri is /Profiles
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: Post>ParseSOAPHeader
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: Default>ParseHeaderRoot
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:A SOAP message is received, SCO index=4095
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: None>ParseSOAPBody
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: Default>ParseBodyRoot
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: OK>ParseBodyElement
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:Begin data transformation of request message, buffer type = FML32, SCO index=4095
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: OK>WSSEPolicyCheck1
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: OK>WSRMHandle1
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: OK>FindService
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: OK>XML2Tux
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: OK>CallTuxService
      124856.rcihp146!GWWS.17610.12.0: TRACE:ms:SCO[4095] FSM State Transition: Default>SendInput
      124856.rcihp146!GWWS.17610.1.0: TRACE:ms:Delivering a message to Tuxedo, service name =csGtAlerts00, SCO index=4095
      124856.rcihp146!GWWS.17610.1.0: LIBTUX_CAT:329: ERROR: Tried to free non-alloced tmrte
      124856.rcihp146!GWWS.17610.1.0: TRACE:ms:Got a message from Tuxedo, SCO index=4095
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: WAKEUP>CallTuxService
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: WAKEUP>GotReply
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: OK>WSRMHdl2
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: Rtrn>Tux2XML
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: Fail>SOAPFault
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: OK>PackSOAPBody
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: OK>PackSOAPHeader
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: Default>WSRMHandle3
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: OK>PackHTTP
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: Default>Send
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:Sending HTTP Header: HTTP/1.1 500 Internal Server Error
      Server: gSOAP/2.7
      Content-Type: text/xml; charset=UTF-8
      Content-Length: 419
      Connection: close


      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:Sending SOAP Message: <?xml version="1.0" encoding="UTF-8"?>
      <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tuxedo="urn:pack.Profiles_typedef.salt11"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>GWWS_CAT:1036: DataMapping Error: Tag 'GENERATION' occurrence does not meet service requirement (min: 1).</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: Default>Connecting
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: OK>SendToNet
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:Send a http message to net, SCO index=4095
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: OK>SendOver
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: Inbound>WSRMHandle4
      124856.rcihp146!GWWS.17610.9.0: TRACE:ms:SCO[4095] FSM State Transition: OK>Delete

      Thanks.

      Ransford
        • 1. Re: SALT Tuxedo Web Service error
          Todd Little-Oracle
          Hi Ransford,

          Without the service metadata input file for the service you are trying to call, it's a little hard to guess what's happening. I suspect that the service is defined with GENERATION as an inout parameter with minimum count of 1 and that the reply from the service doesn't contain an occurrence of the GENERATION field. But that's just a guess.

          Regards,
          Todd Little
          Oracle Tuxedo Chief Architect
          • 2. Re: SALT Tuxedo Web Service error
            772640
            HI Todd,

            Your assessment so far is correct:

            #
            # Generated from Repository file : /rp1users1/rgs/test/rp1oln10/rte_tlg/etc/config/tlgcan.repos
            #


            ##########################
            # service : csGtAlerts00 #
            ##########################
            service=csGtAlerts00
            servicetype=service
            export=Y
            inbuf=FML32
            outbuf=FML32
            tuxservice=csGtAlerts00
            param=GENERATION
            count=1
            requiredcount=1
            fldnum=211
            type=long
            access=inout
            param=DIRECTIVE
            count=1
            requiredcount=1
            fldnum=601
            type=long
            access=in
            param=FIRST_DIRECTIVE
            count=1
            requiredcount=1
            fldnum=2784
            type=long
            access=in
            param=SECOND_DIRECTIVE
            count=1
            requiredcount=1
            fldnum=2785
            type=long
            access=in
            param=OPERATOR_ID
            count=1
            requiredcount=1
            fldnum=602
            type=long
            access=in
            param=APPLICATION_ID
            count=1
            requiredcount=1
            fldnum=603
            type=string
            access=in
            param=TRANSACTION_MODE
            count=1
            requiredcount=1
            fldnum=604
            type=char
            access=in
            param=RUN_DATE
            count=1
            requiredcount=1
            fldnum=984
            type=string
            access=in
            param=MARKET_CODE
            count=1
            requiredcount=1
            fldnum=1096
            type=string
            access=in
            param=SVC_STATUS
            count=1
            requiredcount=1
            fldnum=1544
            type=char
            access=in
            param=LAST_UPDATE_DATE
            count=1
            requiredcount=1
            fldnum=1553
            type=string
            access=in
            param=LAST_UPDATE_STAMP
            count=1
            requiredcount=1
            fldnum=1554
            type=short
            access=in
            param=ENV_CODE
            count=1
            requiredcount=1
            fldnum=2248
            type=string
            access=in
            param=SESSION_ID
            count=1
            requiredcount=1
            fldnum=3272
            type=long
            access=in
            param=ONLINE_TRX_NO
            count=1
            requiredcount=1
            fldnum=3273
            type=long
            access=in
            param=GROUP_TRX_ID
            count=1
            requiredcount=1
            fldnum=3274
            type=long
            access=in
            param=INTERACTION_ID
            count=1
            requiredcount=1
            fldnum=12625
            type=string
            access=in
            param=GN_CONTACT_ID
            count=1
            requiredcount=1
            fldnum=14274
            type=string
            access=in
            param=GN_SRC_CHANNEL
            count=1
            requiredcount=1
            fldnum=14275
            type=char
            access=in
            param=BAN
            count=1
            requiredcount=1
            fldnum=666
            type=long
            access=in
            param=LANGUAGE
            count=1
            requiredcount=1
            fldnum=4984
            type=string
            access=in
            param=ROWCOUNT
            count=1
            requiredcount=1
            fldnum=665
            type=long
            access=out
            param=ALERT_ID
            count=600
            requiredcount=1
            fldnum=12648
            type=string
            access=out
            param=PRODUCT_TYPE
            count=600
            requiredcount=1
            fldnum=619
            type=char
            access=out
            param=FRANCHISE_CODE
            count=600
            requiredcount=1
            fldnum=12649
            type=string
            access=out
            param=ALERT_NAME
            count=600
            requiredcount=1
            fldnum=12650
            type=string
            access=out
            param=ALERT_DESCRIPTION
            count=600
            requiredcount=1
            fldnum=12651
            type=string
            access=out
            param=ALERT_TYPE
            count=600
            requiredcount=1
            fldnum=12652
            type=char
            access=out
            param=MAN_ACT_IND
            count=600
            requiredcount=1
            fldnum=12653
            type=char
            access=out
            param=ALERT_PRIORITY
            count=600
            requiredcount=1
            fldnum=13026
            type=string
            access=out
            param=ERR_COUNTER
            count=1
            requiredcount=1
            fldnum=201
            type=long
            access=out
            param=ERR_FUNCTION_NAME
            count=1
            requiredcount=1
            fldnum=202
            type=string
            access=out
            param=ERR_FILE_NAME
            count=1
            requiredcount=1
            fldnum=203
            type=string
            access=out
            param=ERR_CODE
            count=1
            requiredcount=1
            fldnum=204
            type=long
            access=out
            param=ERR_TYPE
            count=1
            requiredcount=1
            fldnum=205
            type=string
            access=out
            param=ERR_TEXT
            count=1
            requiredcount=1
            fldnum=206
            type=string
            access=out
            param=ERR_SEVERITY
            count=1
            requiredcount=1
            fldnum=207
            type=long
            access=out
            param=ERR_SYMBOLIC_CODE
            count=1
            requiredcount=1
            fldnum=208
            type=string
            access=out
            param=ERR_LINE_NUMBER
            count=1
            requiredcount=1
            fldnum=209
            type=long
            access=out
            param=ERR_USER_VALUE
            count=1
            requiredcount=1
            fldnum=210
            type=long
            access=out
            param=MSG_COUNTER
            count=1
            requiredcount=1
            fldnum=212
            type=long
            access=out
            param=MSG_CODE
            count=1
            requiredcount=1
            fldnum=213
            type=long
            access=out
            param=MSG_TEXT
            count=1
            requiredcount=1
            fldnum=214
            type=string
            access=out
            param=MSG_IDENT
            count=1
            requiredcount=1
            fldnum=215
            type=string
            access=out
            param=MSG_SEVERITY
            count=1
            requiredcount=1
            fldnum=216
            type=long
            access=out
            param=MSG_USER_VALUE
            count=1
            requiredcount=1
            fldnum=217
            type=long
            access=out

            Thanks.

            Ransford
            • 3. Re: SALT Tuxedo Web Service error
              Todd Little-Oracle
              Hi Ransford,

              Well, is that the correct definition for the service, i.e., does it always return a field called GENERATION? If not, then you need change the required count to 0. How does the service handle GENERATION?

              Regards,
              Todd Little
              Oracle Tuxedo Chief Architect
              • 4. Re: SALT Tuxedo Web Service error
                772640
                Hi Todd,

                I am using a script to generate the metadata repository text file with the input generated by viewdis32. It is the same method used to generate our jrepository file. I don't know what to exclude, what do you suggest?

                VIEW vi_csGtAlerts

                # TYPE CNAME FBNAME COUNT FLAG SIZE NULL VALUE
                # ----- -------- --------- ----- ---- ---- ----------

                long generation GENERATION 1 - 4 0
                ...
                VIEW vo_csGtAlerts

                # TYPE CNAME FBNAME COUNT FLAG SIZE NULL VALUE
                # ----- -------- --------- ----- ---- ---- ----------

                long generation GENERATION 1 - 4 0

                When I am using ud32 GENERATION is not mandatory input/output.
                ud32 -n < csGtAlerts00.ud
                SENT pkt(1) is :
                OPERATOR_ID 60001
                BAN 437266224
                SESSION_ID 0
                ONLINE_TRX_NO 0
                TRANSACTION_MODE O
                SRVCNM csGtAlerts00
                APPLICATION_ID E
                RUN_DATE 20090215
                MARKET_CODE CAN
                ENV_CODE ENV10

                RTN pkt(1) is :
                ROWCOUNT 0

                Thanks.

                Ransford
                • 5. Re: SALT Tuxedo Web Service error
                  772640
                  Hi Todd,

                  Thanks for your insite, I now put mandatory count and requiredcount as 0 and it works. Are there any danger doing it this way, the documentation says count=0 means unlimited occurrence.

                  ...
                  service=csGtActMode00
                  export=Y
                  servicetype=service
                  inbuf=FML32
                  outbuf=FML32
                  param=GENERATION
                  count=0
                  requiredcount=0
                  type=long
                  access=inout
                  ...

                  <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tuxedo="urn:pack.Profiles_typedef.salt11">
                  <SOAP-ENV:Body>
                  <tuxedo:csGtAlerts00Response>
                  <tuxedo:outbuf>
                  <tuxedo:ROWCOUNT>0</tuxedo:ROWCOUNT>
                  </tuxedo:outbuf>
                  </tuxedo:csGtAlerts00Response>
                  </SOAP-ENV:Body>
                  </SOAP-ENV:Envelope>

                  Thanks.

                  Ransford
                  • 6. Re: SALT Tuxedo Web Service error
                    Todd Little-Oracle
                    Hi Ransford,

                    The reason ud32 works is because it doesn't look at the metadata repository as it doesn't need to. It just creates the FML32 buffer you specify in the input to ud32 and sends it to the service and then dumps the returned buffer.

                    SALT requires entries in the service metadata repository to know how to map the SOAP body to the Tuxedo buffer and the returned Tuxedo buffer to a SOAP reply. As SOAP interfaces (WSDL) tend to be strongly typed, the SALT gateway needs detailed information about the request and response buffer in order to properly map them to/from the SOAP bodies.

                    I'm not sure where viewdis32 enters the picture as you've defined these services as FML32 services, not VIEW32 services.

                    The count parameter would only matter if a client tried to send a SOAP request with multiple (many?) occurrences of GENERATION. That still wouldn't have an impact other than your service would receive a request with a bunch of occurrences of GENERATION.

                    Regards,
                    Todd Little
                    Oracle Tuxedo Chief Architect
                    • 7. Re: SALT Tuxedo Web Service error
                      772640
                      Hi Todd,

                      Thanks for your help. The use of viewdis32 is an internal process to disassembles a view object file produced during our normal server build. So we disassemble the *.V file and parse the output to get at the service name, type, count and access information. This information is then used to produce the metadata repository text file, this is done to automate the process.

                      From my earlier response the problem is now resolved.

                      Thanks.

                      Ransford