4 Replies Latest reply on Sep 20, 2008 6:25 AM by 660698

    GWWS application initialization failure

    charliemays
      Hello my friends,
      I have a problem when I try to boot the GWWS server for a recently imported service... it says "application initialization failure".
      Tuxedo's log says "ERROR:WSCFG_CAT:219: Parameter schema ("XSD_T:res/ArrayOf_xsd_string@http://gestion.com/Array[1]") not recognized"..
      XSDDIR & XSDFILES env. variables are well setted so that's not the problem... maybe is the way wsdlcvt command generates "paramschema" keyword in metadata files...

      Any ideas of what could be wrong here??
      Thanks in advance.

      ----
      PS: I'll be posting more information next...
        • 1. Re: GWWS application initialization failure
          charliemays
          This is the WSDL file (relevant parts):
          <?xml version="1.0" encoding="UTF-8"?>
          <wsdl:definitions targetNamespace="http://localhost:17000/services/WSPort" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:impl="http://localhost:17000/services/WSPort" xmlns:intf="http://localhost:17000/services/WSPort" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://gestion.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <wsdl:types>
              <schema targetNamespace="http://gestion.com" xmlns="http://www.w3.org/2001/XMLSchema">
                 <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
                 <complexType name="ArrayOf_xsd_string">
                   <complexContent>
                      <restriction base="soapenc:Array"><attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/></restriction>
                    </complexContent>
                 </complexType>
               </schema>
            </wsdl:types>
          
            <wsdl:message name="getConsultaRequest">
              <wsdl:part name="MSISDN" type="xsd:string"/>
            </wsdl:message>
            <wsdl:message name="getConsultaResponse">
              <wsdl:part name="res" type="tns1:ArrayOf_xsd_string"/>
            </wsdl:message>
          ...
          • 2. Re: GWWS application initialization failure
            charliemays
            This is the XSD file generated after wsdlcvt command:
            <?xml version="1.0" encoding="utf-8"?>
            <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:17000/services/WSPort" xmlns:intf="http://localhost:17000/services/WSPort" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://gestion.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://gestion.com">
                 <complexType name="ArrayOf_xsd_string">
                      <complexContent>
                        <restriction base="soapenc:Array">
                           <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
                        </restriction>
                      </complexContent>
                 </complexType>
            </schema>
            • 3. Re: GWWS application initialization failure
              charliemays
              And finally... Tuxedo's log on GWWS boot:
              101621.tuxsrv!TMMETADATA.2828.1.0: CMDTUX_CAT:6769: INFO: TMMETADATA server started with repository file /bea/tuxedo10/metadata/salt.repos
              101621.tuxsrv!GWWS.2829.1.0: 09-11-2008: Tuxedo Version 10.0, 32-bit
              101621.tuxsrv!GWWS.2829.1.0: LIBTUX_CAT:262: INFO: Standard main starting
              101621.tuxsrv!GWWS.2829.1.0: INFO: BEA SALT, Version 2.0, 32-bit, Patch Level (none)
              101621.tuxsrv!GWWS.2829.1.0: |- Loading Service Pattern "getConsulta"
              101621.tuxsrv!GWWS.2829.1.0: |  |- Loading Service "getConsulta"
              101621.tuxsrv!GWWS.2829.1.0: |  |  |- ERROR:WSCFG_CAT:219: Parameter schema ("XSD_T:res/ArrayOf_xsd_string@http://gestion.com/Array[1]") not recognized
              101621.tuxsrv!GWWS.2829.1.0: WSCFG_CAT:32: ERROR: GWWS <GWWS_RBT> configuration context creation failed.
              101621.tuxsrv!GWWS.2829.1.0: LIBTUX_CAT:250: ERROR: tpsvrinit() failed
              • 4. Re: GWWS application initialization failure
                660698
                Hello,

                As I know, soapenc:Array is not a well supported rpc data type for SALT 2.0, since document/literal style would be more perfered. In your case, this soapenc:array parameter "res" should be treated as a general complexType with complexContent element. The mapping rule is defined here: http://edocs.bea.com/salt/docs20/prog/datamap.html#wp1052542

                The following might be a doable workaround (sorry I cannot verify it now), you can have a try.

                You may need manually change the generated .mif file as follows:
                ...
                param=res
                access=out
                paramschema=XSD_T:res/ArrayOf_xsd_string@http:/gestion.com # <-- delete "Array[1]"
                requiredcount=1
                count=1
                type=xml #<-- change from fml32 to xml
                ...

                Then change the generated .fml32 file as follows:
                res 2 string (or mbstring) <-- change the res fml field from "fml32" type to "string" or "mbstring" type

                This probably can make you boot GWWS successfully.

                Then you also need to parse the following entire XML snippet for response FML field parameter "res" in your Tuxedo code to get the string values:
                <res SOAP-ENC:arrayType="xsd:string[$count$]">
                <$elem_tag$>$string0</$elem_tag$>
                <$elem_tag$>$string1</$elem_tag$>
                ......
                <$elem_tag$>$stringn</$elem_tag$>
                </res>

                Regards,
                Oliver