IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.


#TechXchangePresenter
 View Only
Expand all | Collapse all

OpenCAF ( *.xhtml files ) project not working after migration from CAF Project ( *.view files )

  • 1.  OpenCAF ( *.xhtml files ) project not working after migration from CAF Project ( *.view files )

    Posted Wed November 14, 2018 08:01 AM

    Hi guys,

    MWS 9.12

    1. I’ve migrated CAF project ( *.view ) using “Migrate to JSF 2.x” option (right mouse click on project folder → CAF Tools).
      After that all files have *.xhtml extension.
    2. Later I’ve changed WEB-INF/web.xml config file by replace every occurence of “.view” to “.xhtml”. So far so good.
    3. Upload to MWS server.
    4. Now I try to open application link https://hostname:port/MyApplication/ but with no luck. Error 500.

    problems.log from MWS looks:

    WEB-INF/web.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
    <display-name>MyApplication</display-name>
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>com.webmethods.caf.faces.servlet.CAFFacesServlet</servlet-class>
    <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
    <context-param>
    <description>State saving method: "client" or "server" (= default) See JSF Specification 2.5.2</description>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    </context-param>
    <context-param>
    <param-name>com.webmethods.caf.faces.view.FILTER</param-name>
    <param-value>.*\.xhtml</param-value>
    </context-param>
    <context-param>
    <param-name>com.webmethods.caf.faces.view.CACHE</param-name>
    <param-value>true</param-value>
    </context-param>
    <context-param>
    <description>Formats the HTML output</description>
    <param-name>com.webmethods.caf.faces.context.PRETTY_PRINT</param-name>
    <param-value>false</param-value>
    </context-param>
    <context-param>
    <description>Since CAF uses its own FacesServlet impl, this flag is needed to force the faces-config to be loaded</description>
    <param-name>com.sun.faces.forceLoadConfiguration</param-name>
    <param-value>true</param-value>
    </context-param>
    <filter>
    <description>Handles multipart form POSTs (file uploads); required by FileInput control.</description>
    <filter-name>Multipart Filter</filter-name>
    <filter-class>com.webmethods.caf.faces.servlet.MultipartFilter</filter-class>
    <init-param>
    <description>Max allowed upload size in bytes (defaults to "10 MB").</description>
    <param-name>MAX_UPLOAD_DISK_SIZE</param-name>
    <param-value>1 MB</param-value>
    </init-param>
    <init-param>
    <description>Max upload size cached in memory (defaults to "100 KB").</description>
    <param-name>MAX_UPLOAD_RAM_SIZE</param-name>
    <param-value>100 KB</param-value>
    </init-param>
    <init-param>
    <description>Path to temporary directory in which to store uploads
    that are too large to keep in memory (defaults to "temp").</description>
    <param-name>TEMP_UPLOAD_DIR_PATH</param-name>
    <param-value>temp</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>Multipart Filter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>
    <listener>
    <listener-class>com.webmethods.caf.faces.application.CAFConfigureListener</listener-class>
    </listener>
    <filter>
    <description>Compresses the response stream to reduce the network bandwith usage.</description>
    <filter-name>CompressionFilter</filter-name>
    <filter-class>com.webmethods.caf.faces.servlet.GZIPFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>CompressionFilter</filter-name>
    <url-pattern>*.css</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>CompressionFilter</filter-name>
    <url-pattern>*.js</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>CompressionFilter</filter-name>
    <url-pattern>*.view</url-pattern>
    </filter-mapping>
    <welcome-file-list>
    <welcome-file>default.xhtml</welcome-file>
    </welcome-file-list>
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>Pages</web-resource-name>
    <url-pattern>*.xhtml</url-pattern>
    <url-pattern/>
    </web-resource-collection>
    <auth-constraint>
    <role-name>Everyone</role-name>
    </auth-constraint>
    </security-constraint>
    <servlet>
    <servlet-name>LogoutServlet</servlet-name>
    <servlet-class>com.webmethods.caf.faces.servlet.LogoutServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>LogoutServlet</servlet-name>
    <url-pattern>/logout</url-pattern>
    </servlet-mapping>
    <login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
    <form-login-page>/login.xhtml</form-login-page>
    <form-error-page>/login_error.xhtml</form-error-page>
    </form-login-config>
    </login-config>
    <env-entry>
    <description/>
    <env-entry-name>wsclient-socketTimeout</env-entry-name>
    <env-entry-type>java.lang.Integer</env-entry-type>
    <env-entry-value>10000</env-entry-value>
    </env-entry>
    <env-entry>
    <description/>
    <env-entry-name>wsclient-endpointAddress</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value/>
    </env-entry>
    <env-entry>
    <description/>
    <env-entry-name>wsclient-requiresAuth</env-entry-name>
    <env-entry-type>java.lang.Boolean</env-entry-type>
    <env-entry-value>true</env-entry-value>
    </env-entry>
    <env-entry>
    <description/>
    <env-entry-name>wsclient-authMethod</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>1</env-entry-value>
    </env-entry>
    <env-entry>
    <description/>
    <env-entry-name>wsclient-username</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>mySpecialUser</env-entry-value>
    </env-entry>
    <env-entry>
    <description/>
    <env-entry-name>wsclient-password</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>{AES}xxxxxxxxxx</env-entry-value>
    </env-entry>
    </web-app>

    Do you have any idea what is happen?


    #MWS-CAF-Task-Engine
    #webMethods
    #webMethods-BPMS


  • 2.  RE: OpenCAF ( *.xhtml files ) project not working after migration from CAF Project ( *.view files )

    Posted Mon November 19, 2018 06:46 AM

    Solved!

    In WEB-INF/web.xml I should leave “view” extension:

      <context-param>
    <param-name>com.webmethods.caf.faces.view.FILTER</param-name>
    <param-value>.*\.view</param-value>
    </context-param>

    But I change it to

    <param-value>.*\.xhtml</param-value>

    My embarassing mistake…


    #webMethods
    #webMethods-BPMS
    #MWS-CAF-Task-Engine