We are trying to deploy the HelloWorld Web Service (delivered with the content server) on our content server / archive server.
Initially we had the following error message when deploying the Web Service on our Tomcat:
2013-01-09 09:25:20,649 ERROR [Thread-1] Exception sending context initialized event to listener instance of class com.sun.xml.ws.transport.http.servlet.WSServletContextListenercom.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: com.sun.xml.ws.util.ServiceConfigurationError: com.sun.xml.ws.api.pipe.TubelineAssemblerFactory: Provider com.opentext.ecm.components.webservices.MyTubelineAssemblerFactory is specified in jar:file:/G:/Tomcat 5.5/common/lib/hcs-wslib.jar!/META-INF/services/com.sun.xml.ws.api.pipe.TubelineAssemblerFactorybut could not be instantiated: java.lang.ClassCastException at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:118)
We could solve that problem by moving the hcs-wslib.jar out of the common/lib/csjars directory directly into the dependent Web Services.
Now the HelloWorld Web Service can be deployed and accessed using username/password. Unfortunately, we need to authenticate via Single Sign-On from our SAP system. This works for the les-services with CAP, but not for our HelloWorld Web Service.
So we looked for something that is different between the HelloWorld and the les-services and found the SERVICES and PACKAGES section in the Open Text Administration Tool (on the archive server). We tried to add the HelloWorld Web Service to the packages but it failed without showing up an error message. In the Tomcat log there is the following message:
2013-02-13 12:31:58,413 WARN [Thread-1] otx.deployment : com.opentext.ecm.services.deployment.impl.InstallListenerImpl - Problem installing CarFile: /modules/install/helloworld.warcom.opentext.ecm.services.deployment.DeploymentException: Car <name> is required in Deployment Descriptor; nested exception is: java.lang.NullPointerException: Car <name> is required in Deployment Descriptor<Wed Feb 13 12:31:58 CET 2013|> [{File=G:\OT\RCS1010\modules\install\helloworld.war}] (java.lang.NullPointerException: Car <name> is required in Deployment Descriptor) at com.opentext.ecm.services.deployment.impl.CarFile.load(CarFile.java:99) at com.opentext.ecm.services.deployment.impl.CarFile.<init>(CarFile.java:84) at com.opentext.ecm.services.deployment.impl.WarFile.<init>(WarFile.java:43) Additionally, the web.xml of les-services does not contain context parameters. In the HelloWorld Web Service however we need to specify the backend server. If not, we get the error message “cannot access server”. The les-services are including no context parameters. They receiving them from the Open Text Administration.
So what ist to consider for developing an own Content Server Web Service with SSO via CAP. What are car-files? Which jars, configurations and xml-files are necessary?